public string getProgramInfoLog(WebGLProgram program)
        {
#if _DEBUG
            Log.Info(string.Format("getProgramInfoLog {0}", program.Value));
#endif

            var GL_INFO_LOG_LENGTH = 35716;
            //var GL_SHADING_LANGUAGE_VERSION = 35724;
            int k;
            unsafe
            {
#if GLEW_STATIC
                Gl.glGetProgramiv(program.Value, GL_INFO_LOG_LENGTH, &k);
#else
                Gl.__glewGetProgramiv(program.Value, GL_INFO_LOG_LENGTH, &k);
#endif
            }

            if (k <= 0)
            {
                return(string.Empty);
            }

            var result = new byte[k];
            unsafe
            {
                fixed(byte *presult = &result[0])
                {
#if GLEW_STATIC
                    Gl.glGetProgramInfoLog(program.Value, k, &k, presult);
#else
                    Gl.__glewGetProgramInfoLog(program.Value, k, &k, presult);
#endif
                }
            }

            return(new string(Encoding.ASCII.GetChars(result)));
        }