示例#1
0
        WebGLShader CreateShader(WebGLRenderingContext gl, int type, string source)
        {
            var shader = gl.CreateShader(type);

            gl.ShaderSource(shader, source);
            gl.CompileShader(shader);

            var status = gl.GetShaderParameter(shader, gl.COMPILE_STATUS);

            if (status.As <bool>())
            {
                return(shader);
            }

            var info = gl.GetShaderInfoLog(shader);

            gl.DeleteShader(shader);

            throw new InvalidOperationException($"Unable to compile shader. Details: {info}");
        }