GLSL和glVertexAttribPointer

时间:2012-01-28 13:23:25

标签: opengl glsl

是否可以从着色器脚本内部了解属性是否已经存在 已启用glVertexAttribPointerglEnableVertexAttribArray

当我尝试在不使用glVertexAttribPointer程序的情况下读取属性时 至少不会崩溃,价值似乎是0.0。尝试阅读是否有效 一个未定义的属性?

我试图解决的问题是我有两个对象,一个有属性,一个没有,我想知道我是否可以/应该对两个对象使用相同的着色器程序(假设属性的值没有它们的对象为0。

1 个答案:

答案 0 :(得分:2)

  

当我尝试在不使用glVertexAttribPointer的情况下读取属性时,程序至少不会崩溃并且值似乎为0.0。尝试读取未定义的属性是否有效?

对于没有顶点属性数组绑定的每个属性,您使用glVertexAttrib http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml获取值集,默认情况下全部为零。

如果属性编号有两个不同的执行路径,请使用两个单独的着色器。