ものららい 2024/08/13 12:25

そこそこ進みの良いけど回り道

こんにちは🍎(チョット更新遅れてしまった

前回からまあまあ順調に1面2面の作業が進み今3面のステージ作ってますが、調べものをしてて、前回までの描画系の処理がどうも今のOpenGLの仕様では古い書き方だったっぽいのでそこらへんのところ直してたり、あとついでに一部マルチスレッド化して見ようかなとか思って少し回り道してました。

技術系の記事じゃないので割合しますが、頂点やUVなどのデータを一定の間隔で入れてGPUに渡すインターリーブは今のGPUでは微妙らしくて(頂点,UV,頂点,UV......みたいな感じでバッファに詰めていく感じ)、同じモデルを使用する制約はありますが、あらかじめ使用する頂点データとインデックスをGPUに渡して実際に描画する場合の位置や色やUV値のみを使って描画をする、インスタンシングの方が今風らしいのでそっちの方に切り替えて見ました。

実際今の描画システム的にはすべて板ポリの頂点データしか使用していないので、同じモデルの々描画は相性いいのもありますが、何より前のシステムのいちいち移動を行った頂点データを描画するスプライト数分バッファに入れ込むのはデータ量が長大になってしまうので、あらためていいことづくめだったなと思います。(大きいデータの更新は速度にも影響出るので)

↓描画系が振り出しになったので開発初期の画面みたいになってしまったの図

↓リアルタイムでスプライト出しまくってもそれなりに動作してるの図


あと気持ち効果あるかは微妙ですが、描画とかの判定のループ数が多くなりがちな部分の処理をマルチスレッド化してみました。
描画ソーティング処理や登録処理のところに試験的に入れていますが多分1万くらいの弾幕とかを生成しない限りそんなに意味ないかなとかも思いますが使ってみたいと勝手もわからないのでとりあえず勉強的な感じで。(なんとなく使い方違う気もするけどヨシ🍏



相変わらず寄り道してますが、エンジン部分も安定してきて前よりもモチベが上がってきたので引き続き頑張ります。🍎

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

記事のタグから探す

月別アーカイブ

記事を検索