zoukankan      html  css  js  c++  java
  • 黄聪:C#窗体程序OpenGL绘制立方体多边形旋转示例教程(VS2008,Winform)

    朋友做毕业设计需要通过采集下位机数据绘制一个立方体,帮忙查了一下资料,发现用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

  • 相关阅读:
    修改host批量处理.bat
    当前标识(IIS APPPOOL如来官网)没有对“C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files”的写访问权限。
    SQL Server 2005基础应用视频教程下载学习
    .netcore获取已注入的服务
    触发器设置递归
    Attention Is All You Need
    FreeSwitch LUA API —— Sessions
    扇贝背单词,增加单词快捷文本复制按钮 需要安装tampermonkey
    java G711 流式编码和解码方法
    Webrtc 介绍与Demo环境搭建
  • 原文地址:https://www.cnblogs.com/huangcong/p/1972597.html
Copyright © 2011-2022 走看看