Example #1
0
        public void Dispose()
        {
            if (ProgramID != 0)
            {
                // Make sure this program isn't being used
                if (Gl.CurrentProgram == ProgramID)
                {
                    Gl.UseProgram(0);
                }

                Gl.DetachShader(ProgramID, VertexShader.ShaderID);
                Gl.DetachShader(ProgramID, FragmentShader.ShaderID);
                Gl.DeleteProgram(ProgramID);

                if (DisposeChildren)
                {
                    VertexShader.Dispose();
                    FragmentShader.Dispose();
                }

                this.ProgramID = 0;
            }
        }
Example #2
0
 public ShaderProgram(VertexShader vertexShader, FragmentShader fragmentShader) : this()
 {
     this.VertexShader   = vertexShader;
     this.FragmentShader = fragmentShader;
 }