请教各位大侠,我在MFC中初始化了OPENGL 想用gluSphere模拟一个圆天空顶,可是怎么都显示不出天空。之前已经将纹理加入了,不知到底是什么地方出问题了,用的双缓冲模式
这是画的部分代码
glEnable(GL_TEXTURE_2D);
glPushMatrix();
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTranslatef(1.0f, 0, 0 );
glRotatef(90,1,0,0);
glColor4f(0.5,0.5,0.5,1);
gluSphere(qobj,100,32,16);
glPopMatrix();
glDisable(GL_TEXTURE_2D);
glFinish();

解决方案 »

  1.   

    glTranslatef(-30.0f, 0, 0 );
      

  2.   

    glTranslatef(0, 0, -30 );
      

  3.   

    不是这个问题啊,因为我修改了很多的translate中的数值了。
    我是载入了3ds飞机模型,希望能够模拟飞机在天空中飞的过程,天空这一块总是画不出来。我估计是swapbuffer出现了什么问题。但是调试一直都没有成功。
    也没有报错信息,运行编译都能通过,但就是显示不出天空。
    后来,我把半径改的很小,应该能够看到一个圆球体,但是连个圆球体都显示不了。不知道怎么回事啊。
    希望大牛赐教
      

  4.   

    glTranslatef(0, 0, -300 );试试
      

  5.   

    不是吧。   你想把一个球体放大做成一个天空??!!!你在这个球里面当然看不到它啦,因为法线是朝外面的!!天空的话,你完全可以用纹理帖一个天空盒出来呀,那样多完美,注意使用glNormal3f()函数就好了