我正在开发一个Android OpenGL ES应用程序,这是我的片段着色器片段:
{{1}}
我的问题是我想用上面的GLSL的vignetteCenter和vignetteColor绑定一个变量,我不知道那种类型的Java Type对象对应vec2和vec3? GLES20.glUniform2f或GLES20.glUniform2fv,我应该使用哪一个?
答案 0 :(得分:1)
reader()
将允许您将一个2个浮点数向量分配给统一变量。
GLES20.glUniform2f
将允许您将2个浮点数的N个向量分配给统一变量。
因此,给定两个浮点数f1和f2,您可以使用
GLES20.glUniform2fv
或
GLES20.glUniform2f(myVariablePosition,f1,f2);
其中1表示只传递1个2浮点数的向量。
如果你想传递2个浮点数的向量数组,那么你可以这样做:
float[] myVector = {f1,f2};
GLES20.glUniform2f(myVariablePosition,1,myVector);