首页 > 解决方案 > 我需要使用 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();

}

标签: c++openglglutpoint

解决方案


你需要先glPointSize打电话glBegin。例子:

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

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


推荐阅读