opengl glEnableVertexAttribArray的确切作用是什么?

n9vozmp4  于 2022-11-04  发布在  其他
关注(0)|答案(3)|浏览(248)

我正在阅读:Dissecting Display, Chapter 1. Hello, Triangle!.
glEnableVertexAttribArray到底是做什么的?我 * 认为 * 它支持使用给定的VBO,但我不确定。
我想这就是glEnableClientState(GL_VERTEX_ARRAY)所做的。

wvmv3b1j

wvmv3b1j1#

我一直在阅读:****
然后请阅读 * 下 * 页;我解释了它的确切作用;)
请允许我引用我自己的话:
我们在顶点着色器中将position属性的属性索引分配给0,因此调用glEnableVertexAttribArray(0)将启用position属性的属性索引。[...]如果未启用该属性,则在渲染过程中将不会使用它。

fruv7luv

fruv7luv2#

它类似于顶点数组,但它存储的是每个点的额外值,而不是坐标值。例如,你可能想在建模应用中存储每个点的温度、密度、信号强度,或者是游戏的伤害值

pkln4tw6

pkln4tw63#

还有另一种方法可以指定顶点属性的数据,即非数组方法:
khronos: glVertexAttrib
这样,我们只为一个顶点指定数据,这个数据将被复制到所有顶点。
要使用非数组数据,请调用glDisableVertexAttribArray
要使用数组数据,请调用glEnableVertexAttribArray

相关问题