gpt4 book ai didi

c++ - OpenGL 显示两个数组

转载 作者:行者123 更新时间:2023-11-28 07:52:17 28 4
gpt4 key购买 nike

我需要一些有关 c++/OpenGL 编码的帮助。我正在做的是多边形近似算法。

我的代码首先从 .txt 文件中提取一组点,将它们全部存储在一个数组中,然后显示该数组。然后它获取这些点并对它们执行算法,并创建一个新的点数组。我不知道该怎么做,是如何让第二组点显示在与第一组相同的窗口上。我是否必须创建一个新的显示功能并调用它?或者修改我现在接受数组的基本显示功能?这是我的显示功能的代码:

void display(void){
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,1,1);

glBegin(GL_POINTS);
for(int i=0; i<2000; i++)
glVertex2i(pixel[i].x,pixel[i].y);
glEnd();

glFlush();
}

最佳答案

你只需要绘制处理后的数组。考虑到您只想渲染结果点,就像在您的代码示例中一样,您可以使用:

void display(void){
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,1,1);

glBegin(GL_POINTS);
for(int i=0; i<2000; i++)
glVertex2i(pixel[i].x,pixel[i].y);
// here goes the rendering of the new set of points.
glColor3f(1,0,0); // change the color so we can see better the new points.
for(int i=0; i<2000; i++)
glVertex2i(result[i].x,result[i].y);
glEnd();

glFlush();
}

变量 result 是包含处理结果的数组。

您不能修改 display 函数,因为它由 OpenGL 调用并且它不知道您的数组。但是,将您的代码拆分为许多由您的 display 函数调用的函数并没有什么不妥。

希望对您有所帮助。

关于c++ - OpenGL 显示两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535246/

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