WebGL 1 поддерживает только GLSL ES v1.00 . Вызовы Instanced Draw поддерживаются с расширением ANGLE_instanced_arrays .
Расширение было настолько популярным, что стало частью WebGL 2.0 DrawArraysInstance .
В WebGL 2.0 есть поддержкаболее поздние версии GLSL, которые поддерживают встроенные gl_InstanceID
и gl_VertexID
.
Однако, поскольку WebGL 1 застрял в старой версии GLSL, эти переменные не поддерживаются.
Но они могут быть смоделированы, или я надеюсь, что они могут!
Для имитации gl_VertexID
я просто использую Array Buffer [0, 1, 2, 3, 4, 5, ...]
,
и связываю его с делителем 0
, это хорошо работает.
Однако я не знаю, как имитировать gl_InstanceID
.