2 番目のオブジェクトの描画中にクエリを実行できるように、2 つの別個のオブジェクトを描画したいと考えています。描画コードは次のようになります。
glDrawElements(GL_TRIANGLES,...); // draw first object
glBeginQuery(GL_SAMPLES_PASSED, queries[0]);
glDrawElements(GL_TRIANGLES,...); // draw second object
glEndQuery(GL_SAMPLES_PASSED);
glGetQueryObjectiv(queries[0], GL_QUERY_RESULT, &result);
return restult;
glDraw*()
ほとんどの OpenGL チュートリアルは、1 つのコマンドを超えることはありません。このサイトからわかるように、2 つの頂点配列オブジェクトが必要ですが、このサイトでは、個別のオブジェクトのバッファ データを設定する方法について説明していません。簡単にするために、オブジェクトをそれぞれ単一の三角形にしたいとしましょう。
Triangle1:
vertex1: -0.5, 0.0, 0.0
vertex2: -0.5, 0.5, 0.0
vertex3: 0.0, 0.0, 0.0
Triangle2:
vertex1: 0.0, 0.0, 0.0
vertex2: 0.5, 0.5, 0.0
vertex3: 0.5, 0.0, 0.0
C++ および OpenGL 3.2 でこのクエリを実行するために、頂点配列オブジェクト、頂点バッファー オブジェクト、および要素配列バッファーをセットアップする方法を教えてもらえますか?