2
在GLSL頂點着色器,我有:明確統一的位置沒有影響
#version 330
layout (location=0) uniform mat4 wm_;
layout (location=1) uniform mat4 vm_;
...more code...
我沒有得到任何編譯錯誤時,着色器編譯。後來,我對glGetUniformLocation聲明瞭wM_和vm_返回着色器源中指定的位置。因爲glGetUniformLocation返回不同的值(它不返回-1,也就是說,制服沒有得到優化,它們被分配了看似有效但不同位置的東西)。
任何人都可以解釋這個行爲?
您應該提及如何在GLSL中啓用擴展。 – 2013-02-17 21:28:50
啊,謝謝。爲了清楚起見,這是在AMD,Catalyst控制中心報告Catalyst版本13.1和OpenGL版本6.14.10.12002上運行的。 – Emil 2013-02-17 21:29:00
要啓用擴展,請添加以下行:'#version'後面的'#extension GL_ARB_explicit_uniform_location:require' – Maf 2013-02-18 06:21:53