我正在阅读:Dissecting Display, Chapter 1. Hello, Triangle!.glEnableVertexAttribArray
到底是做什么的?我 * 认为 * 它支持使用给定的VBO,但我不确定。
我想这就是glEnableClientState(GL_VERTEX_ARRAY)
所做的。
我正在阅读:Dissecting Display, Chapter 1. Hello, Triangle!.glEnableVertexAttribArray
到底是做什么的?我 * 认为 * 它支持使用给定的VBO,但我不确定。
我想这就是glEnableClientState(GL_VERTEX_ARRAY)
所做的。
3条答案
按热度按时间wvmv3b1j1#
我一直在阅读:****
然后请阅读 * 下 * 页;我解释了它的确切作用;)
请允许我引用我自己的话:
我们在顶点着色器中将position属性的属性索引分配给
0
,因此调用glEnableVertexAttribArray(0)
将启用position属性的属性索引。[...]如果未启用该属性,则在渲染过程中将不会使用它。fruv7luv2#
它类似于顶点数组,但它存储的是每个点的额外值,而不是坐标值。例如,你可能想在建模应用中存储每个点的温度、密度、信号强度,或者是游戏的伤害值
pkln4tw63#
还有另一种方法可以指定顶点属性的数据,即非数组方法:
khronos:
glVertexAttrib
这样,我们只为一个顶点指定数据,这个数据将被复制到所有顶点。
要使用非数组数据,请调用
glDisableVertexAttribArray
。要使用数组数据,请调用
glEnableVertexAttribArray
。