コード例 #1
0
 public void initShader(MySurfaceView mv) {
   // 加载顶点着色器的脚本内容
   mVertexShader = ShaderUtil.loadFromAssetsFile("vertex_tex.sh", mv.getResources());
   // 加载片元着色器的脚本内容
   mFragmentShader = ShaderUtil.loadFromAssetsFile("frag_tex.sh", mv.getResources());
   // 基于顶点着色器与片元着色器创建程序
   mProgram = ShaderUtil.createProgram(mVertexShader, mFragmentShader);
   // 获取程序中顶点位置属性引用
   maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");
   // 获取程序中顶点纹理坐标属性引用
   maTexCoorHandle = GLES20.glGetAttribLocation(mProgram, "aTexCoor");
   // 获取程序中总变换矩阵id
   muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
 }
コード例 #2
0
 public void intShader(MySurfaceView mv) { // 初始化着色器
   // 加载顶点着色器的脚本内容
   mVertexShader = ShaderUtil.loadFromAssetsFile("vertex_xk.sh", mv.getResources());
   ShaderUtil.checkGlError("==ss==");
   // 加载片元着色器的脚本内容
   mFragmentShader = ShaderUtil.loadFromAssetsFile("frag_xk.sh", mv.getResources());
   // 基于顶点着色器与片元着色器创建程序
   ShaderUtil.checkGlError("==ss==");
   mProgram = createProgram(mVertexShader, mFragmentShader);
   // 获取程序中顶点位置属性引用id
   maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");
   // 获取程序中总变换矩阵引用id
   muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
   // 获取顶点尺寸参数引用
   uPointSizeHandle = GLES20.glGetUniformLocation(mProgram, "uPointSize");
 }
コード例 #3
0
ファイル: Stick.java プロジェクト: kivechang/openGl20Games
 // 初始化shader
 public void intShader(MySurfaceView mv) {
   // 加载顶点着色器的脚本内容
   mVertexShader = ShaderUtil.loadFromAssetsFile("vertex_color.sh", mv.getResources());
   ShaderUtil.checkGlError("==ss==");
   // 加载片元着色器的脚本内容
   mFragmentShader = ShaderUtil.loadFromAssetsFile("frag_color.sh", mv.getResources());
   // 基于顶点着色器与片元着色器创建程序
   ShaderUtil.checkGlError("==ss==");
   mProgram = ShaderUtil.createProgram(mVertexShader, mFragmentShader);
   // 获取程序中顶点位置属性引用id
   maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");
   // 获取程序中总变换矩阵引用id
   muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
   muMMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMMatrix");
   // 获取程序中顶点法向量属性引用
   maNormalHandle = GLES20.glGetAttribLocation(mProgram, "aNormal");
   // 获取程序中光源位置引用
   maLightLocationHandle = GLES20.glGetUniformLocation(mProgram, "uLightLocation");
   // 获取程序中摄像机位置引用
   maCameraHandle = GLES20.glGetUniformLocation(mProgram, "uCamera");
 }
コード例 #4
0
ファイル: Ball.java プロジェクト: kivechang/openGl20Games
 // 初始化着色器
 public void initShader(MySurfaceView mv) {
   // 加载顶点着色器的脚本内容
   mVertexShader = ShaderUtil.loadFromAssetsFile("vertex.sh", mv.getResources());
   // 加载片元着色器的脚本内容
   mFragmentShader = ShaderUtil.loadFromAssetsFile("frag.sh", mv.getResources());
   // 基于顶点着色器与片元着色器创建程序
   mProgram = ShaderUtil.createProgram(mVertexShader, mFragmentShader);
   // 获取程序中顶点位置属性引用
   maPositionHandle = GLES20.glGetAttribLocation(mProgram, "aPosition");
   // 获取程序中总变换矩阵引用
   muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix");
   // 获取程序中顶点经纬度属性引用
   maLongLatHandle = GLES20.glGetAttribLocation(mProgram, "aLongLat");
   // 获取位置、旋转变换矩阵引用
   muMMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMMatrix");
   // 获取程序中球半径引用
   muRHandle = GLES20.glGetUniformLocation(mProgram, "uR");
   // 获取程序中顶点法向量属性引用
   maNormalHandle = GLES20.glGetAttribLocation(mProgram, "aNormal");
   // 获取程序中光源位置引用
   maLightLocationHandle = GLES20.glGetUniformLocation(mProgram, "uLightLocation");
   // 获取程序中摄像机位置引用
   maCameraHandle = GLES20.glGetUniformLocation(mProgram, "uCamera");
 }