private
void
openGLControl1_OpenGLDraw(
object
sender, PaintEventArgs e)
{
//
创建一个GL对象
SharpGL.OpenGL gl
=
this
.openGLControl1.OpenGL;
gl.Clear(OpenGL.COLOR_BUFFER_BIT
|
OpenGL.DEPTH_BUFFER_BIT);
//
清空屏幕
gl.LoadIdentity();
//
重置
gl.Translate(
0.0f
,
0.0f
,
-
6.0f
);
//
设置坐标,距离屏幕距离为6
gl.Rotate(_x,
1.0f
,
0.0f
,
0.0f
);
//
绕X轴旋转
gl.Rotate(_y,
0.0f
,
1.0f
,
0.0f
);
//
绕Y轴旋转
gl.Rotate(_z,
0.0f
,
0.0f
,
1.0f
);
//
绕Z轴旋转
gl.Begin(_model);
//
绘制立方体
gl.Color(
0.0f
,
1.0f
,
0.0f
);
//
设置颜色
//
绘制其中一个面
gl.Vertex(
1.0f
,
1.0f
,
-
1.0f
);
gl.Vertex(
-
1.0f
,
1.0f
,
-
1.0f
);
gl.Vertex(
-
1.0f
,
1.0f
,
1.0f
);
gl.Vertex(
1.0f
,
1.0f
,
1.0f
);
//
如下类同
gl.Color(
1.0f
,
0.5f
,
0.0f
);
gl.Vertex(
1.0f
,
-
1.0f
,
1.0f
);
gl.Vertex(
-
1.0f
,
-
1.0f
,
1.0f
);
gl.Vertex(
-
1.0f
,
-
1.0f
,
-
1.0f
);
gl.Vertex(
1.0f
,
-
1.0f
,
-
1.0f
);
gl.Color(
1.0f
,
0.0f
,
0.0f
);
gl.Vertex(
1.0f
,
1.0f
,
1.0f
);
gl.Vertex(
-
1.0f
,
1.0f
,
1.0f
);
gl.Vertex(
-
1.0f
,
-
1.0f
,
1.0f
);
gl.Vertex(
1.0f
,
-
1.0f
,
1.0f
);
gl.Color(
1.0f
,
1.0f
,
0.0f
);
gl.Vertex(
1.0f
,
-
1.0f
,
-
1.0f
);
gl.Vertex(
-
1.0f
,
-
1.0f
,
-
1.0f
);
gl.Vertex(
-
1.0f
,
1.0f
,
-
1.0f
);
gl.Vertex(
1.0f
,
1.0f
,
-
1.0f
);
gl.Color(
0.0f
,
0.0f
,
1.0f
);
gl.Vertex(
-
1.0f
,
1.0f
,
1.0f
);
gl.Vertex(
-
1.0f
,
1.0f
,
-
1.0f
);
gl.Vertex(
-
1.0f
,
-
1.0f
,
-
1.0f
);
gl.Vertex(
-
1.0f
,
-
1.0f
,
1.0f
);
gl.Color(
1.0f
,
0.0f
,
1.0f
);
gl.Vertex(
1.0f
,
1.0f
,
-
1.0f
);
gl.Vertex(
1.0f
,
1.0f
,
1.0f
);
gl.Vertex(
1.0f
,
-
1.0f
,
1.0f
);
gl.Vertex(
1.0f
,
-
1.0f
,
-
1.0f
);
gl.End();
//
结束绘制
}