デプステストを使用する簡単なプログラムがあります。期待通りに動作しません。プログラムはX、Y軸と原点の近くの球を描画します。 GL_DEPTH_TESTをオンにしないと、球が軸の上に描画されます。 GL_DEPTH_TESTをオンにすると、軸は私が期待していない球の上に描画されます。誰かが私が何をしたのか教えてもらえますか 間違っていますか?OpenGLデプステストが正常に動作しない
void
glwid::initializeGL()
{
glClearColor (0.0f, 0.0f, 0.0f, 1.0f);
}
void
glwid::resizeGL(int width, int height)
{
glViewport(0, 0, (GLint)width, (GLint)height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective (90, (GLint)width/ (GLint)height, 0.0, 200.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable (GL_DEPTH_TEST);
}
void
glwid::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity();
gluLookAt (0, 0, 100, 0, 0, 0, 0, 1, 0);
//
// X axis
//
glBegin(GL_LINES);
qglColor(green);
glVertex3f (-100.0, 0, 0.);
glVertex3f (100.0, 0, 0.);
glEnd();
//
// Y axis
//
glBegin(GL_LINES);
qglColor(red);
glVertex3f (0.0, 100.0, 0.);
glVertex3f (0.0, -100, 0.);
glEnd();
//
// sun
//
glTranslated (5, 0, 20);
GLUquadricObj *sphere_quadric = gluNewQuadric();
glColor3ub (255, 255, 0);
gluQuadricDrawStyle(sphere_quadric, (GLenum)GLU_SMOOTH);
gluSphere(sphere_quadric, 10, 36, 36);
}
を置く方が良いでしょう。書式を修正します。 – orlp
デプステストの有無にかかわらず写真を投稿できますか? – rotoglup