Ejemplo n.º 1
0
        private static void initShaders()
        {
            var fragmentShader = GetShader(gl, "shader-fs");
            var vertexShader   = GetShader(gl, "shader-vs");

            shaderProgram = gl.CreateProgram();
            gl.AttachShader(shaderProgram, vertexShader);
            gl.AttachShader(shaderProgram, fragmentShader);
            gl.LinkProgram(shaderProgram);

            if (!gl.GetProgramParameter(shaderProgram, gl.LinkStatus))
            {
                throw new Exception("Could not initialize shaders");
            }

            gl.UseProgram(shaderProgram);

            vertexPositionAttribute = gl.GetAttributeLocation(shaderProgram, "aVertexPosition");
            gl.EnableVertexAttributeArray(vertexPositionAttribute);

            pMatrixUniform  = gl.GetUniformLocation(shaderProgram, "uPMatrix");
            mvMatrixUniform = gl.GetUniformLocation(shaderProgram, "uMVMatrix");
        }