Mik*_*iny 3 shader android opengl-es
我对OpenGl和着色器一般都是新手.我想在片段着色器中使用我的java代码中的静态int数组来操作相机的颜色.有没有办法将我的int数组传递给着色器或只是让着色器能够以某种方式访问我的数组?
谢谢,迈克
在着色器代码中使用所谓静态数组的正确方法是将其作为Uniform传递:
http://www.opengl.org/wiki/GLAPI/glUniform
在着色器代码中,您指定需要外部数组:
uniform int colors[3]; // Specify an array of 3 integers
Run Code Online (Sandbox Code Playgroud)
在你的java代码中使用这个:
int array[3] = {0, 1, 2};
int location = GLES20.glGetUniformLocation(program_id, "colors");
GLES20.glUniform1iv(location,
3,
array,
0);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1872 次 |
最近记录: |