允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://crazylove.blog.51cto.com/855385/173042
public
void Color(
double red,
double green,
double blue)
SharpGL.OpenGL 的成员
private
void openGLControl1_OpenGLDraw(
object sender, PaintEventArgs e)
{
// Get the OpenGL object, just to clean up the code.
SharpGL.OpenGL gl =
this.openGLControl1.OpenGL;
gl.Clear(OpenGL.COLOR_BUFFER_BIT | OpenGL.DEPTH_BUFFER_BIT);
// Clear The Screen And The Depth Buffer
gl.LoadIdentity();
// Reset The View
gl.Translate(-1.5f, 0.0f, -6.0f);
// Move Left And Into The Screen
gl.Begin(OpenGL.TRIANGLES);
// Start Drawing The Pyramid
gl.Color(1.0f, 0.0f, 0.0f);
// Red
gl.Vertex(0.0f, 1.0f, 0.0f);
// Top Of Triangle (Front)
gl.Color(0.0f, 1.0f, 0.0f);
// Green
gl.Vertex(-1.0f, -1.0f, 0.0f);
// Left Of Triangle (Front)
gl.Color(0.0f, 0.0f, 1.0f);
// Blue
gl.Vertex(1.0f, -1.0f, 0.0f);
// Right Of Triangle (Front)
gl.End();
// Done Drawing The Pyramid
gl.Translate(3f, 0.0f, 0.0f);
// Move Right And Into The Screen
gl.Begin(OpenGL.QUADS);
// Start Drawing The Cube
gl.Color(0.5f, 0.5f, 1.0f);
// Set The Color To Green
gl.Vertex(-1.0f, 1.0f, 0.0f);
// Top Right Of The Quad (Top)
gl.Vertex(1.0f, 1.0f, 0.0f);
// Top Left Of The Quad (Top)
gl.Vertex(1.0f, -1.0f, 0.0f);
// Bottom Left Of The Quad (Top)
gl.Vertex(-1.0f, -1.0f, 0.0f);
// Bottom Right Of The Quad (Top)
gl.End();
// Done Drawing The Q
gl.Flush();
}
下面是OpenGLDraw的事件响应函数,相对上节主要增加了对


的函数的应用,该函数是个重载函数,目前只用到上面提到的这个形式,即以RGB为参数进行着色。
下面是OpenGLDraw的事件响应函数:





































显示效果如下图:

源代码
本文出自 “璇星” 博客,请务必保留此出处http://crazylove.blog.51cto.com/855385/173042