如何在 ANGLE_instanced_arrays 中使用 gl_InstanceID?
how to use gl_InstanceID in ANGLE_instanced_arrays?
WebGL 1 仅支持 GLSL ES v1.00。支持实例化绘制调用
ANGLE_instanced_arrays 分机。
该扩展非常受欢迎,成为 WebGL 2.0 的一部分 DrawArraysInstance。
WebGL 2.0 支持支持内置 gl_InstanceID
和 gl_VertexID
的更高版本的 GLSL。
然而,由于 WebGL 1 停留在旧的 GLSL 版本,因此不支持这些变量。
但是它们是可以模拟的,或者我希望它们可以!
为了模拟gl_VertexID
,我简单地使用了[0, 1, 2, 3, 4, 5, ...]
、
的数组缓冲区
并将其与 0
的除数绑定,效果很好。
但是,我不知道如何模拟gl_InstanceID
。
我想我明白了!我可以将另一个属性绑定到 [0, 1, 2, 3, 4, 5, ...]
数组缓冲区,除数为 1
。
该属性将在每个实例中递增一次,与 gl_InstanceID
相同。
WebGL 1 仅支持 GLSL ES v1.00。支持实例化绘制调用 ANGLE_instanced_arrays 分机。
该扩展非常受欢迎,成为 WebGL 2.0 的一部分 DrawArraysInstance。
WebGL 2.0 支持支持内置 gl_InstanceID
和 gl_VertexID
的更高版本的 GLSL。
然而,由于 WebGL 1 停留在旧的 GLSL 版本,因此不支持这些变量。
但是它们是可以模拟的,或者我希望它们可以!
为了模拟gl_VertexID
,我简单地使用了[0, 1, 2, 3, 4, 5, ...]
、
的数组缓冲区
并将其与 0
的除数绑定,效果很好。
但是,我不知道如何模拟gl_InstanceID
。
我想我明白了!我可以将另一个属性绑定到 [0, 1, 2, 3, 4, 5, ...]
数组缓冲区,除数为 1
。
该属性将在每个实例中递增一次,与 gl_InstanceID
相同。