【发布时间】:2011-12-14 20:35:28
【问题描述】:
我有一个二维数组,格式如下:
lines[MAX_LINES][MAX_POINT_INDICES];
例如,它可能看起来像:
lines[1] = {2, 3, 0, 0, 0}; //lines from 1 to 2, from 1 to 3, 0=END
lines[2] = {3, 0, 0, 0, 0}; //lines from 2 to 3, 0=END
lines[3] = {4, 5, 6, 7, 0}; //lines from 3 to 4, 3->5, 3->6, 3->7, 0 means END
...
因此,每条线都定义为三角形扇形。现在,我想使用 OpenGL 绘制所有这些线,但是我找不到任何快速的方法来做到这一点,除了按顺序遍历每一行。有什么建议吗?
【问题讨论】:
-
顺序迭代数组以获取点是一种解决方案。是什么让你觉得它不够快?
-
@loxxy 我想也许 OpenGL 支持这种格式。我花费了许多时钟来准备要与 glDrawElements(GL_LINES,... 一起使用的每一行的行
-
我不认为有一个很好的方法来绘制这个东西而不迭代它。如果你想用很少的调用来绘制它,你可能必须将你的数据结构更改为可以直接作为 GL_ELEMENT_ARRAY_BUFFER 提供的东西。
标签: c++ c opengl graphics graph