gpt4 book ai didi

c++ - 在 openGL 中绘制点时丢失一些点

转载 作者:行者123 更新时间:2023-11-30 05:22:35 26 4
gpt4 key购买 nike

我在 openGL 中编写了一个 c++ 代码来绘制七个顶点。我的示例代码如下:

#include <GL/glut.h>

void init2D(float r, float g, float b)
{
glClearColor(r, g, b, 0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0, 200.0, 0.0, 150.0);
glPointSize(4.0);
}

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0);

//draw two points
glBegin(GL_POINTS);
glVertex2i(30, 30);
glVertex2i(47, 76);
glVertex2i(76, 150);
glVertex2i(130, 240);
glVertex2i(300, 200);
glVertex2i(250, 50);
glVertex2i(60, 20);
glEnd();

glFlush();
}

void main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("points and lines");
init2D(0.0, 0.0, 0.0);
glutDisplayFunc(display);
glutMainLoop();
}

但是当我运行代码时,我只得到其中的 4 个。代码有什么问题吗?有没有办法显示所有的点?

最佳答案

gluOrtho2D(0.0, 200.0, 0.0, 150.0);

您正在设置投影,使 (0,0) 映射到左下角,(200, 150) 映射到右上角,因此

glVertex2i(130, 240);
glVertex2i(300, 200);
glVertex2i(250, 50);

都在视野之外。

关于c++ - 在 openGL 中绘制点时丢失一些点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39551569/

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