|
|
部分代码片断,高手帮看看哪里有问题呀,为什么画面老是闪烁呢?尤其在旋转查看时,
片断1
glEnable(GL_TEXTURE_2D);
glShadeModel(GL_SMOOTH);
glClearDepth(1.0f);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
glBindTexture(GL_TEXTURE_2D,image.texture[0]);
片断2
if(r>360)r=0;
r+=0.003f;
gluLookAt(10*sin(r),10,20*cos(r),0,0,0,0,1,0);
glBegin(GL_QUADS);
// 前面
glTexCoord2f(0.0f, 0.0f); glVertex3f(-20.0f, -20.0f, 20.0f); // 纹理和四边形的左下
glTexCoord2f(20.0f, 0.0f); glVertex3f( 20.0f, -20.0f, 20.0f); // 纹理和四边形的右下
glTexCoord2f(20.0f, 20.0f); glVertex3f( 20.0f, 20.0f, 20.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f, 20.0f); glVertex3f(-20.0f, 20.0f, 20.0f); // 纹理和四边形的左上
// 后面
glTexCoord2f(20.0f, 0.0f); glVertex3f(-20.0f, -20.0f, -20.0f); // 纹理和四边形的右下
glTexCoord2f(20.0f, 20.0f); glVertex3f(-20.0f, 20.0f, -20.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f, 20.0f); glVertex3f( 20.0f, 20.0f, -20.0f); // 纹理和四边形的左上
glTexCoord2f(0.0f, 0.0f); glVertex3f( 20.0f, -20.0f, -20.0f); // 纹理和四边形的左下
// 顶面
glTexCoord2f(0.0f, 20.0f); glVertex3f(-20.0f, 20.0f, -20.0f); // 纹理和四边形的左上
glTexCoord2f(0.0f, 0.0f); glVertex3f(-20.0f, 20.0f, 20.0f); // 纹理和四边形的左下
glTexCoord2f(20.0f, 0.0f); glVertex3f( 20.0f, 20.0f, 20.0f); // 纹理和四边形的右下
glTexCoord2f(20.0f, 20.0f); glVertex3f( 20.0f, 20.0f, -20.0f); // 纹理和四边形的右上
// 底面
glTexCoord2f(20.0f, 20.0f); glVertex3f(-20.0f, -20.0f, -20.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f, 20.0f); glVertex3f( 20.0f, -20.0f, -20.0f); // 纹理和四边形的左上
glTexCoord2f(0.0f, 0.0f); glVertex3f( 20.0f, -20.0f, 20.0f); // 纹理和四边形的左下
glTexCoord2f(20.0f, 0.0f); glVertex3f(-20.0f, -20.0f, 20.0f); // 纹理和四边形的右下
// 右面
glTexCoord2f(20.0f, 0.0f); glVertex3f( 20.0f, -20.0f, -20.0f); // 纹理和四边形的右下
glTexCoord2f(20.0f, 20.0f); glVertex3f( 20.0f, 20.0f, -20.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f, 20.0f); glVertex3f( 20.0f, 20.0f, 20.0f); // 纹理和四边形的左上
glTexCoord2f(0.0f, 0.0f); glVertex3f( 20.0f, -20.0f, 20.0f); // 纹理和四边形的左下
// 左面
glTexCoord2f(0.0f, 0.0f); glVertex3f(-20.0f, -20.0f, -20.0f); // 纹理和四边形的左下
glTexCoord2f(20.0f, 0.0f); glVertex3f(-20.0f, -20.0f, 20.0f); // 纹理和四边形的右下
glTexCoord2f(20.0f, 20.0f); glVertex3f(-20.0f, 20.0f, 20.0f); // 纹理和四边形的右上
glTexCoord2f(0.0f, 20.0f); glVertex3f(-20.0f, 20.0f, -20.0f); // 纹理和四边形的左上
glEnd();
|
|