1
我想传递一个数组片段着色器:无法通过统一的浮动数组片段着色器
//c++ code
float filter[9] = {-1.0f,-1.0f,-1.0f, -1.0f,9.0f,-1.0f, -1.0f,-1.0f,-1.0f};
glUniform1fv(glGetUniformLocation(imageShaderId, "filter"), 9, filter);
//inside fragment shader code
uniform float filter[9]; //global
if(filter[0]==-1.0) gl_FragColor = red;//in main()
这对我不起作用。我已经看了很多例子,似乎都指向我的代码是正确的?我可以通过一个单一的变量浮动没有问题使用glUniform1f,但不是数组。有人能指出我正确的方向吗?
[GLSL的可能重复:使值的列表,以片段着色器(http://stackoverflow.com/questions/7954927/glsl-passing-a-list-of-values-to-fragment-shader) – 2013-03-02 22:46:00