glVertexAttribDivisor 会影响非实例化的 glDrawArrays 调用吗?
does glVertexAttribDivisor affect non-instanced glDrawArrays calls?
使用 glVertexAttribDivisor
设置顶点属性除数会影响非实例化绘制调用 EG glDrawArrays
所有“非实例化”绘制调用都是实例化绘制调用。他们只绘制一个实例,从 0 的基本实例开始。因此实例化属性仍然像实例化属性一样。
glDrawArrays
或 DrawArraysOneInstance
(来自核心规范)将为它绘制的所有图元绘制一个实例。这意味着 gl_instance_id
在整个绘图调用中将保持为 0。实例化属性只会让所有基元访问其第一个实例。 (尽管可以向 gl_instance_id 提供基本偏移量)
例如: 调用 glDrawArrays
绘制 6 个三角形基元,将只使用它绘制的每个基元的任何实例化属性的第一个实例。
不可能拥有按基元推进的属性。
更多详细信息,请参阅opengl4.6的第10.4节core spec
使用 glVertexAttribDivisor
设置顶点属性除数会影响非实例化绘制调用 EG glDrawArrays
所有“非实例化”绘制调用都是实例化绘制调用。他们只绘制一个实例,从 0 的基本实例开始。因此实例化属性仍然像实例化属性一样。
glDrawArrays
或 DrawArraysOneInstance
(来自核心规范)将为它绘制的所有图元绘制一个实例。这意味着 gl_instance_id
在整个绘图调用中将保持为 0。实例化属性只会让所有基元访问其第一个实例。 (尽管可以向 gl_instance_id 提供基本偏移量)
例如: 调用 glDrawArrays
绘制 6 个三角形基元,将只使用它绘制的每个基元的任何实例化属性的第一个实例。
不可能拥有按基元推进的属性。
更多详细信息,请参阅opengl4.6的第10.4节core spec