我需要使用OpenGL和GLUT绘制一个点,但我只得到一个空白的黑屏



我正试图使用OpenGL和GLUT打印一个点,但当我运行以下代码时,我只是得到了一个空白屏幕。任何帮助都将不胜感激。非常感谢。

#include<GL/glut.h>
void display() {
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_POINTS);
glVertex2f(0.0, 0.0);
glEnd();
glFlush();
}
void main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitWindowSize(640, 480);
glutCreateWindow("example");
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutDisplayFunc(display);
glutMainLoop();
}

您需要在glBegin之前调用glPointSize。示例:

void display() {
glColor3f(1.0, 0.0, 0.0);
glPointSize(10.0f);
glBegin(GL_POINTS);
glVertex2f(0.0f, 0.0f);
glEnd();
glFlush();
}

如果每个帧的点大小都是相同的,那么您可以在初始化时调用glPointSize一次。

最新更新