gpt4 book ai didi

opengl-es - glVertexAttrib(相对于 glVertexAttribPointer)是用来做什么的?

转载 作者:行者123 更新时间:2023-12-03 10:54:23 29 4
gpt4 key购买 nike

我了解 glVertexAttribPointer将根据指向的数组设置顶点属性的值。什么是glVertexAttrib不过,为了?看起来它只是为顶点属性设置了一个(可能是矢量)值,那么当你有多个顶点时会发生什么?是否所有顶点最终都会看到相同的属性值?

最佳答案

这主要用于旧的立即模式( glBegin/glEnd ),在这种模式下您不使用已弃用的顶点数组(并在 OpenGL ES 2.0 和桌面 OpenGL 3+ 核心中删除)。

但是这个函数仍然可以用于数组(这就是它在现代版本中仍然存在的原因)。您的假设是正确的,即此调用之后的所有顶点对该属性具有相同的值(当然,前提是您不启用此属性的数组)。或者更确切地说,每个未启用相应数组的已使用着色器属性都从单个状态值获取其值,并且可以使用 glVertexAttrib 更改此值.

如果您有一个通用着色器,这很有用,例如一个颜色属性和一个位置属性,并且您有一个具有恒定颜色的对象。所以通过使用 glVertexAttrib您不必为每个顶点提交颜色,也不必使用将颜色更改为统一颜色的特殊着色器。

关于opengl-es - glVertexAttrib(相对于 glVertexAttribPointer)是用来做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718976/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com