オクルージョンクエリに関する問題が発生しました。私の場合、照会の結果は常に想定されているよりも大きく見えます。例えばレンダリングに1024 * 1024の解像度を使用しますが、シーン内のオブジェクトのクエリ結果は2085029(> 1024 * 1024)です。使用ハードウェアオクルージョンクエリの結果が正確でないようです
クエリメソッドは、GPU GemsのChapter 29
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDepthMask(GL_FALSE);
glBeginQuery(GL_SAMPLES_PASSED, occlusionQuery[0]);
mesh->Render();
glEndQuery(GL_SAMPLES_PASSED);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glDepthMask(GL_TRUE);
glGetQueryObjectuiv(occlusionQuery[0], GL_QUERY_RESULT, &screenFragmentCount[0]);
誰でも助けることができるからですか?
ありがとうございます!私は「ピクセル」と「サンプル」を混在させたようです。オブジェクトのピクセル数を取得するには、どうすればよいですか?類似のクエリメソッドはありますか? ;) – bitxue