を働いていない私はとフォーマットを設定します。OpenGLのデプステストが
次にinitializeGL深度テストをオンに設定しました。
void VoxelEditor::initializeGL()
{
glClearDepth(2000.0); // Enables Clearing Of The Depth Buffer
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations
}
深度バッファをクリアします。
void VoxelEditor::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
draw();
}
私はそれが少ない頂点で動作するために使用覚えているので、それは私がデプスバッファが処理するにはあまりにも多く使用していること(?)かもしれません。 私は32 * 32 * 32のボクセルを持っています。これらのボクセルはほとんどの時間の半分で描画されていますので、98304四分の一です。
しかし、深度テストはまだ動作せず、実行順にクワッドが表示されます。
glClearDepth()とglDepthFuncを組み合わせて使用することはできません。 glClearDepth()を削除しようとするとどうなりますか? – ixM
いいえ、動作しません。 – RobotRock
私はglDepthRange *を0から1まで追加しようとしましたが、それでも何も変わりません:S – RobotRock