gpt4 book ai didi

android - 如何将 int 数组传递到 Android OpenGl fragment 着色器

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:04 29 4
gpt4 key购买 nike

一般来说,我对 OpenGl 和着色器还很陌生。我想在 fragment 着色器中使用我的 java 代码中的静态 int 数组来操纵相机的颜色。有没有办法将我的 int 数组传递给着色器,或者只是让着色器能够以某种方式访问​​我的数组?

谢谢,迈克

最佳答案

在着色器代码中使用所谓的静态数组的正确方法是将其作为 Uniform 传递:

http://www.opengl.org/wiki/GLAPI/glUniform

在您的着色器代码中,您指定需要一个外部数组:

uniform int colors[3]; // Specify an array of 3 integers

在你的java代码中使用这个:

int array[3] = {0, 1, 2};
int location = GLES20.glGetUniformLocation(program_id, "colors");
GLES20.glUniform1iv(location,
3,
array,
0);

关于android - 如何将 int 数组传递到 Android OpenGl fragment 着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188098/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com