C++、SDL、および OpenGL を使用して (単純な) ゲーム エンジンを構築しようとしていますが、次のステップがわかりません。これは私がこれまでに持っているものです...
メイン ゲーム ループを制御するエンジン オブジェクト
シーンをレンダリングするシーン レンダラー
プッシュおよびポップできるゲーム ステートのスタック
各状態にはアクターのコレクションがあり、各アクターには三角形のコレクションがあります。シーン レンダラーはビュー プロジェクション マトリックスを正常にセットアップします
私が抱えている問題が、アクターの位置を保存する方法に関連しているのか、それともレンダリング キューを作成する方法に関連しているのかはわかりません。
不透明なポリゴンを前から後ろに描画し、次に透明なポリゴンを後ろから前に描画するレンダリング キューを作成すると効率的であると読みました。このため、アクターはシーン レンダラー オブジェクトの「queueTriangle」メソッドを呼び出します。次に、シーン レンダラー オブジェクトは各アクターの三角形へのポインターを格納し、位置に基づいて並べ替えてレンダリングします。
私が直面している問題は、これが起こるために三角形がワールド座標での位置を知る必要があることですが、glTranslatef と glRotatef を使用している場合、これらの座標がわかりません!
誰かが私に解決策を提供してください。または、これを解決する方法に関する(簡単な)ガイドにリンクしてください。
ありがとうございました!