我正在编写一个在屏幕上绘制一堆三角形的 WebGL 程序。我正在使用间接寻址,所以是这样的:
gl.drawElements(gl.TRIANGLES, list.length, gl.UNSIGNED_SHORT, 0);
顶点着色器有没有办法知道它正在处理三角形的哪个顶点?(在列表给定顺序的三个顶点中,即第一个、第二个或最后一个)
我正在编写一个在屏幕上绘制一堆三角形的 WebGL 程序。我正在使用间接寻址,所以是这样的:
gl.drawElements(gl.TRIANGLES, list.length, gl.UNSIGNED_SHORT, 0);
顶点着色器有没有办法知道它正在处理三角形的哪个顶点?(在列表给定顺序的三个顶点中,即第一个、第二个或最后一个)
您可以使用额外的整数属性与顶点坐标、纹理坐标、法线等一起检查顶点的 ID。
如果您以 OpenGL ES 3+ 为目标,您可以使用gl_VertexID
- https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/gl_VertexID.xhtml