下面是我的代码显示实心球。我用ModelMatrix来显示。但我无法看到坚实的。应该添加投影之类的东西。但我目前不需要预测。球不与glutSolidSphere可见()
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include<windows.h>
static void Init() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
static void display() {
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3d(1,1,0);
glutSolidSphere(3,4,4);
}
int main(int argc, char** argv) {
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(550, 550);
glutInitWindowPosition(50, 50);
glutCreateWindow("Balloon");
glutDisplayFunc(display);
Init();
glutMainLoop();
return 0;
}
我看,可能会导致您的问题几件事情。首先在显示函数结束时,您需要调用glutSwapBuffers()。这会将前台缓冲区与后台缓冲区(您绘制的缓冲区)交换,以便显示它。第二件事是你需要在显示函数的开头调用glClear清除前一帧的内容。同样,如果你的模型视图和投影矩阵都是单位矩阵,那么可显示的坐标将从-1到1,所以很可能你的球体对于你当前的矩阵太大了。 – user3256930 2014-10-02 17:48:32