C++ OpenGL:glRotatef不工作?
glRoatef函数不起作用我不知道为什么 下面的代码这是显示功能,也使用SDL在主循环im中调用此功能:C++ OpenGL:glRotatef不工作?,c++,opengl,rotation,C++,Opengl,Rotation,glRoatef函数不起作用我不知道为什么 下面的代码这是显示功能,也使用SDL在主循环im中调用此功能: void display(){ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glLoadIdentity(); GLfloat ambientColor[] = {0.2f, 0.2f, 0.2f, 1.0f}; glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientColor); Cont
void display(){
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
GLfloat ambientColor[] = {0.2f, 0.2f, 0.2f, 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientColor);
Control(0.2,0.2,mousein);
drawSkybox(50.0);
UpdateCamera();
renderLine(0,0,0,100,0,0,0,0,255);
renderLine(0,0,0,0,100,0,0,255,0);
renderLine(0,0,0,0,0,100,255,0,0);
我忘了补充一点,这是一个不起作用的位:
glPushMatrix();
glRotatef(1,0,0,360);
glScalef(0.05,0.05,0.05);
glCallList(ship);
glPopMatrix();
无效glRotatef(GLfloat x、GLfloat y、GLfloat z、GLfloat角度) 空隙glRotatef(GLfloat角度、GLfloat x、GLfloat y、GLfloat z)
定义“不工作”。线
glRotatef(1,0,0360)
只是将一个单位矩阵相乘,基本上什么都不做。你对360度的旋转有什么期望?我测试的是它甚至会旋转,而不是在程序中以增量旋转360度
for(int i = 0;i<planets.size();i++){
glPushMatrix();
planets[i].render();
glPopMatrix();
}
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,640.0/480.0,0.1,500.0);
glMatrixMode(GL_MODELVIEW);