c++ - 我需要使用 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();
}
解决方案
你需要先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
在初始化时调用一次。
推荐阅读
- php - 单击元素或元素时如何在标志之间切换在里面使用AJAX?
- c - Swig 在结构中包装 unsigned char 指针成员
- javascript - 存储在字符串中的 ejs 代码不会在前端执行
- javascript - 角度日期管道显示的日期不正确
- python - 如何设置 python 日志记录以使用多个模块和函数调用中指定的输出文件
- python - 如何在 Python 中对列表列表进行选择性笛卡尔积
- json - 如何在 Go 中编组嵌入式结构?
- java - 获取身份验证值
- java - 我想使用@JoinColumns 从不同的表中获取数据 - 如何创建一个可以传递参数的条件?
- windows - 从提升的脚本访问用户环境变量?