由于 GLES2.0 没有几何着色器,我想只使用顶点着色器来模拟一个。我的想法是这样的:我有:x、y、z、大小变量,每个顶点发送一个,然后将它们保存在某个地方。在第 6 个顶点之后,我使用最后 6 个值(x、y、z、大小和另外两个,如果需要)来构建接下来的 6 个顶点。例如:
- 在第一次调用顶点着色器时,我将 x 变量保存在某处,并返回 gl_Position = (0,0,0)、gl_Color = (0,0,0,0) 等...
- 在第二次调用中,我将 y 变量保存在某处,然后以与上述相同的方式丢弃顶点。然后我重复这个直到第 6 个顶点。
- 在第 6 个顶点,我从某处拉出 x、y、z 和 size 变量,然后使用它们构建正方形的左上顶点。(gl_Position = (x-size/2, y-size/2, 0)...等等。
问题是,我不知道这个“某处”是什么。我不知道如何在顶点着色器调用中保存一个变量,以便在下一次调用中使用它。
TLDL:我想在一次绘图调用中在 GLES2.0 上用 5200 * (x, y, z, square_size) 制作 10400 个三角形,对如何做有想法,但不知道如何实现