文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#窗体程序OpenGL绘制立方体多边形旋转示例教程(VS2008,Winform)

C#窗体程序OpenGL绘制立方体多边形旋转示例教程(VS2008,Winform)

时间:2011-03-06  来源:小聪崽的一切

朋友做毕业设计需要通过采集下位机数据绘制一个立方体,帮忙查了一下资料,发现用OpenGL可以很好的解决问题,鼓弄了2个小时弄出了这个示例程序,虽然简陋但是可以提供给朋友使用了,下面就放出代码和效果图给大家:

核心代码:

        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();
// 结束绘制
}

示例程序下载地址:旋转立方体示例.rar

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载