Android OpenGL ES 开发(十): 通过GLES20与着色器交互
demi 在 周一, 08/06/2018 - 09:45 提交
1. 获取着色器程序内成员变量的id(句柄、指针)
GLES20.glGetAttribLocation方法:获取着色器程序中,指定为attribute类型变量的id。
GLES20.glGetUniformLocation方法:获取着色器程序中,指定为uniform类型变量的id。
如:
// 获取指向着色器中aPosition的index maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition"); // 获取指向着色器中uMVPMatrix的index muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
2. 向着色器传递数据
使用上一节获取的指向着色器相应数据成员的各个id,就能将我们自己定义的顶点数据、颜色数据等等各种数据传递到着色器当中了。