【发布时间】:2013-07-23 19:11:49
【问题描述】:
我假设这将是“未定义”的事情之一,但我似乎无法从谷歌找到具体答案。
假设在我的顶点着色器中我有:
layout(location = 0) in vec3 vPosition;
layout(location = 1) in vec3 vNormal;
layout(location = 2) in vec4 vColour;
但是使用 glEnableVertexAttribArray() 或 glVertexAttribPointer() 没有缓冲到位置 2。我可以期望值是什么特别的吗?
我假设 vec4 将沿着 {0,0,0,0}、{0,0,0,1} 或 {1,1,1,1} 的行,但在我的如果是 {0,0,1,1}。
当我之前使用 glBindAttribLocation() 指定位置时,它在使用 3 种不同操作系统(ubuntu 12.04、windows 7 和 ubuntu 10.04)的 4 台不同机器上默认为 {1,1,1,1}。
假设跨机器的值将是 {0,0,1,1} 是否安全?还是这只是巧合?
【问题讨论】:
标签: opengl attributes shader vertex-buffer