// 自定义初始化着色器initShader方法 public void initShader(MySurfaceView mv) { // 加载顶点着色器的脚本内容 mVertexShader = ShaderUtil.loadFromAssetsFile("vertex_tex.sh", mv.getResources()); // 加载片元着色器的脚本内容 mFragmentShader = ShaderUtil.loadFromAssetsFile("frag_tex.sh", mv.getResources()); // 基于顶点着色器与片元着色器创建程序 mProgram = createProgram(mVertexShader, mFragmentShader); // 获取程序中顶点位置属性引用id maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition"); // 获取程序中顶点纹理坐标属性引用id maTexCoorHandle = GLES20.glGetAttribLocation(mProgram, "aTexCoor"); // 获取程序中总变换矩阵引用id muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix"); }