私は OpenGL、glew、GLFW を使用して、プロジェクト用の簡単なゲームをコーディングしています。私はすでに Assimp を使用した 3D モデル インポーターを持っており、テクスチャも処理しています。
これは私が1つのメッシュを描く方法です:
glBindBuffer(GL_ARRAY_BUFFER, m_Buffers[NORMAL_VB]);
glNormalPointer(GL_FLOAT, 0, NULL);
glBindBuffer(GL_ARRAY_BUFFER, m_Buffers[TEXCOORD_VB]);
glTexCoordPointer(2, GL_FLOAT, 0, NULL);
glBindBuffer(GL_ARRAY_BUFFER, m_Buffers[POS_VB]);
glVertexPointer(3, GL_FLOAT, 0, NULL);
//Render the triangles
glDrawArrays(GL_TRIANGLES, 0, m_Entries[i].NumIndices);
私の質問は、この同じメッシュを使用して何百もの移動エンティティをレンダリングするにはどうすればよいですか?ただし、それぞれが異なるワールド位置と回転を持っていますか?
何百もの移動エンティティがある場合、各フレームで同じメッシュを何百回もレンダリングしているため、FPS が低下していることに気付くことができます。
ところで、私はシェーダーを使用していません。単純に描画するだけです