コード例 #1
0
        public void CompileShader()
        {
            int vertexShader   = CompileShader(ShaderType.VertexShader, vertexProgram);
            int fragmentShader = CompileShader(ShaderType.FragmentShader, fragmentProgram);

            handle = Ogl.CreateProgram(Name);
            Ogl.AttachShader(handle, vertexShader);
            Ogl.AttachShader(handle, fragmentShader);
            Ogl.LinkProgram(handle);

            string infoLog = Ogl.GetProgramInfoLog(handle);

            if (!string.IsNullOrEmpty(infoLog))
            {
                Console.WriteLine(infoLog);
            }

            Ogl.DetachShader(handle, vertexShader);
            Ogl.DetachShader(handle, fragmentShader);
            Ogl.DeleteShader(vertexShader);
            Ogl.DeleteShader(fragmentShader);

            IsCompiled = true;
            ShadersLoaded++;
        }