private static __WebGLShader createShader(this gl gl, int shaderType, string shaderSource) { var shaderHandle = gl.createShader(shaderType); // Pass in the shader source. gl.shaderSource(shaderHandle, shaderSource); // Compile the shader. gl.compileShader(shaderHandle); // Get the compilation status. int[] compileStatus = new int[1]; GLES20.glGetShaderiv(shaderHandle.value, GLES20.GL_COMPILE_STATUS, compileStatus, 0); // If the compilation failed, delete the shader. if (compileStatus[0] == 0) { Log.e("createShader", GLES20.glGetShaderInfoLog(shaderHandle.value)); gl.deleteShader(shaderHandle); shaderHandle = null; } if (shaderHandle == null) { //throw new RuntimeException("Error creating shader."); throw null; } return(shaderHandle); }