下面是OpenGLDraw的事件响应函数,相对上节主要增加了对
3.光滑着色和平面着色_职场public void Color(double red, double green, double blue)
3.光滑着色和平面着色_职场        SharpGL.OpenGL 的成员
的函数的应用,该函数是个重载函数,目前只用到上面提到的这个形式,即以RGB为参数进行着色。 下面是OpenGLDraw的事件响应函数:
3.光滑着色和平面着色_职场                private void openGLControl1_OpenGLDraw(object sender, PaintEventArgs e)
3.光滑着色和平面着色_职场                {
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        //    Get the OpenGL object, just to clean up the code.
3.光滑着色和平面着色_职场                        SharpGL.OpenGL gl = this.openGLControl1.OpenGL;
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Clear(OpenGL.COLOR_BUFFER_BIT | OpenGL.DEPTH_BUFFER_BIT);  // Clear The Screen And The Depth Buffer
3.光滑着色和平面着色_职场                        gl.LoadIdentity();          // Reset The View
3.光滑着色和平面着色_职场                        gl.Translate(-1.5f, 0.0f, -6.0f);        // Move Left And Into The Screen
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Begin(OpenGL.TRIANGLES);          // Start Drawing The Pyramid
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Color(1.0f, 0.0f, 0.0f);      // Red
3.光滑着色和平面着色_职场                        gl.Vertex(0.0f, 1.0f, 0.0f);      // Top Of Triangle (Front)
3.光滑着色和平面着色_职场                        gl.Color(0.0f, 1.0f, 0.0f);      // Green
3.光滑着色和平面着色_职场                        gl.Vertex(-1.0f, -1.0f, 0.0f);      // Left Of Triangle (Front)
3.光滑着色和平面着色_职场                        gl.Color(0.0f, 0.0f, 1.0f);      // Blue
3.光滑着色和平面着色_职场                        gl.Vertex(1.0f, -1.0f, 0.0f);      // Right Of Triangle (Front)
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.End();            // Done Drawing The Pyramid
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Translate(3f, 0.0f, 0.0f);        // Move Right And Into The Screen
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Begin(OpenGL.QUADS);          // Start Drawing The Cube
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Color(0.5f, 0.5f, 1.0f);      // Set The Color To Green
3.光滑着色和平面着色_职场                        gl.Vertex(-1.0f, 1.0f, 0.0f);      // Top Right Of The Quad (Top)
3.光滑着色和平面着色_职场                        gl.Vertex(1.0f, 1.0f, 0.0f);      // Top Left Of The Quad (Top)
3.光滑着色和平面着色_职场                        gl.Vertex(1.0f, -1.0f, 0.0f);      // Bottom Left Of The Quad (Top)
3.光滑着色和平面着色_职场                        gl.Vertex(-1.0f, -1.0f, 0.0f);      // Bottom Right Of The Quad (Top)
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.End();            // Done Drawing The Q
3.光滑着色和平面着色_职场
3.光滑着色和平面着色_职场                        gl.Flush();  
3.光滑着色和平面着色_职场                }
显示效果如下图:
3.光滑着色和平面着色_职场_40
 
源代码