1

我正在开发一个 2DOpen GL游戏,我必须在屏幕上为瓷砖地图绘制许多正方形,与glTexCoordPointer纹理不同。

现在,我不知道如何Gldrawelements用于绘制许多正方形,如果我想绘制许多正方形,这将是索引的结构?

而且,我怎样才能把每个数组(顶点),其中包含每个正方形的坐标vertexbuffer

此外,是否可以glTexCoordPointer在一次调用该方法时为每个方格设置不同的设置,或者是否需要像 with 这样的循环GlDrawArrays?但是,我想使用,因为我不想为每个方块gldrawelements创建一个执行多次的循环,我的下降明显。gldrawarraysfps

4

1 回答 1

2

如果正方形彼此相邻,则使用四边形(或等效的三角形条):

相邻四边形的四边形

如果正方形不相交,只需使用四边形

在此处输入图像描述

在这种情况下,您还可以通过添加退化四边形(三角形)来使用四边形(等效于三角形):

GLushort indices[] = {A, B, C, D, D, E, E, F, G, H, H, I, I, J, K, L}

顶点位置相同但纹理坐标不同的两个正方形必须用不同的四边形表示。

于 2012-05-15T14:57:33.670 回答