gpt4 book ai didi

OpenGL 线图

转载 作者:行者123 更新时间:2023-12-02 06:38:24 27 4
gpt4 key购买 nike

我正在练习课本上的练习,但无法获得应有的输出。

这是我所拥有的:

#include <math.h>
#include <GLUT/glut.h>
#include <OpenGL/OpenGL.h>

//Initialize OpenGL
void init(void) {
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,300.0,0.0,300.0);
}

void drawLines(void) {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,0.4,0.2);
glPointSize(3.0);

glBegin(GL_LINES);
glVertex2d(180, 15);
glVertex2d(10, 145);
glEnd();
}

int main(int argc, char**argv) {
glutInit(&argc, argv);
glutInitWindowPosition(10,10);
glutInitWindowSize(500,500);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

glutCreateWindow("Example");
init();
glutDisplayFunc(drawLines);
glutMainLoop();
}

当我运行这段代码时,我得到完全空白的白屏。

最佳答案

我也不是 OpenGL 专家,但问题是您尚未将视口(viewport)设置为场景应投影的位置。你的 init 应该看起来像这样:

glClearColor(0, 0, 0, 0);

glViewport(0, 0, 500, 500);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

glOrtho(0, 500, 0, 500, 1, -1);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

你还需要放一个glFlush();在你画完之后。

void drawLines(void) {
...
glFlush();
}

关于OpenGL 线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com