すべてのオブジェクトが OpenGL 頂点配列に格納され、各フレームが次のように描画される大きな 3D シーンがあります。
for(int i = 0 ; i < noLists ; ++i)
{
glVertexPointer(3, GL_FLOAT, 0, vertexArraysList[i] ) ;
glColorPointer(4, GL_FLOAT, 0, colorArraysList[i] ) ;
glDrawArrays(GL_QUAD_STRIP, 0, verticesNumber) ;
}
通常、ユーザーは最初にシーン全体を見始めますが、すぐに関心のある部分を特定して特定の領域にズームインするため、シーン全体の大部分が画面からはみ出してしまいます。しかし、ズームしたときの FPS レートは画面全体を表示したときと同じであることがわかりました。そのため、OpenGL は画面の外にあるすべての頂点を描画しているように見えます (または、少なくともパイプライン内で描画との違いがないほど十分に進んでいるようです)。時間コストの観点から)。
特定の頂点配列のコンテンツが画面の外にあるかどうかをテストする方法はありますか?その場合、描画を避けることができますか?