Android examples for android.opengl:OpenGL Shader
Utility method for compiling a OpenGL shader.
//package com.java2s; import android.opengl.GLES20; import android.util.Log; public class Main { private static final String TAG = "GameManiaGLUtil"; /**// w w w. j a v a 2 s .co m * Utility method for compiling a OpenGL shader. * <p/> * <p><strong>Note:</strong> When developing shaders, use the checkGlError() * method to debug shader coding errors.</p> * * @param type - Vertex or fragment shader type. * @param shaderCode - String containing the shader code. * @return - Returns an id for the shader. */ public static int loadShader(int type, String shaderCode) { // create a vertex shader type (GLES20.GL_VERTEX_SHADER) // or a fragment shader type (GLES20.GL_FRAGMENT_SHADER) int shaderHandle = GLES20.glCreateShader(type); // add the source code to the shader and compile it GLES20.glShaderSource(shaderHandle, shaderCode); GLES20.glCompileShader(shaderHandle); // Get the compilation status. final int[] compileStatus = new int[1]; GLES20.glGetShaderiv(shaderHandle, GLES20.GL_COMPILE_STATUS, compileStatus, 0); // If the compilation failed, delete the shader. if (compileStatus[0] == 0) { Log.e(TAG, "Error compiling shader: " + GLES20.glGetShaderInfoLog(shaderHandle)); GLES20.glDeleteShader(shaderHandle); shaderHandle = 0; } return shaderHandle; } }