zoukankan      html  css  js  c++  java
  • C# OPENGL DEMO 旋转彩色立方体OpenGL, SharpGL

    static double xrot = 0.0;
            static double yrot = 0.0;
            static double zrot = 0.0;
            SharpGL.OpenGL gl;
            private void timer1_Tick(object sender, EventArgs e)
            {
    
                gl.Rotate(xrot, 1, 0, 0);
                gl.Rotate(yrot, 0, 1, 0);
                gl.Rotate(zrot, 0, 0, 1);
                xrot = xrot + 0.11;
                yrot = yrot + 0.11;
                zrot = zrot + 0.11;
            }
            private void openGLControl1_OpenGLDraw(object sender, SharpGL.RenderEventArgs e)
            {
                // 创建一个GL对象
    
    
                 gl.Clear(OpenGL.Gl.COLOR_BUFFER_BIT|OpenGL.Gl.DEPTH_BUFFER_BIT);    // 清空屏幕
                gl.LoadIdentity();                    // 重置
                gl.Translate(0.0f, 0.0f, -6.0f);    // 设置坐标,距离屏幕距离为6
    
                gl.Rotate(xrot, 1.0f, 0.0f, 0.0f);    // 绕X轴旋转
                gl.Rotate(yrot, 0.0f, 1.0f, 0.0f);    // 绕Y轴旋转
                gl.Rotate(zrot, 0.0f, 0.0f, 1.0f);    // 绕Z轴旋转
                gl.Begin(Gl.QUADS);
                gl.Color(1.0, 1.0, 0.0);
                gl.Vertex(1.0, 1.0, -1.0);
                gl.Color(0.0, 1.0, 0.0);
                gl.Vertex(-1.0, 1.0, -1.0);
                gl.Color(0.0, 1.0, 1.0);
                gl.Vertex(-1.0, 1.0, 1.0);
                gl.Color(1.0, 1.0, 1.0);
                gl.Vertex(1.0, 1.0, 1.0);
    
                gl.Color(1.0, 0.0, 1.0);
                gl.Vertex(1.0, -1.0, 1.0);
                gl.Color(0.0, 0.0, 1.0);
                gl.Vertex(-1.0, -1.0, 1.0);
                gl.Color(0.0, 0.0, 0.0);
                gl.Vertex(-1.0, -1.0, -1.0);
                gl.Color(1.0, 0.0, 0.0);
                gl.Vertex(1.0, -1.0, -1.0);
    
                gl.Color(1.0, 1.0, 1.0);
                gl.Vertex(1.0, 1.0, 1.0);
                gl.Color(0.0, 1.0, 1.0);
                gl.Vertex(-1.0, 1.0, 1.0);
                gl.Color(0.0, 0.0, 1.0);
                gl.Vertex(-1.0, -1.0, 1.0);
                gl.Color(1.0, 0.0, 1.0);
                gl.Vertex(1.0, -1.0, 1.0);
    
                gl.Color(1.0, 0.0, 0.0);
                gl.Vertex(1.0, -1.0, -1.0);
                gl.Color(0.0, 0.0, 0.0);
                gl.Vertex(-1.0, -1.0, -1.0);
                gl.Color(0.0, 1.0, 0.0);
                gl.Vertex(-1.0, 1.0, -1.0);
                gl.Color(1.0, 1.0, 0.0);
                gl.Vertex(1.0, 1.0, -1.0);
    
                gl.Color(0.0, 1.0, 1.0);
                gl.Vertex(-1.0, 1.0, 1.0);
                gl.Color(0.0, 1.0, 0.0);
                gl.Vertex(-1.0, 1.0, -1.0);
                gl.Color(0.0, 0.0, 0.0);
                gl.Vertex(-1.0, -1.0, -1.0);
                gl.Color(0.0, 0.0, 1.0);
                gl.Vertex(-1.0, -1.0, 1.0);
    
                gl.Color(1.0, 1.0, 0.0);
                gl.Vertex(1.0, 1.0, -1.0);
                gl.Color(1.0, 1.0, 1.0);
                gl.Vertex(1.0, 1.0, 1.0);
                gl.Color(1.0, 0.0, 1.0);
                gl.Vertex(1.0, -1.0, 1.0);
                gl.Color(1.0, 0.0, 0.0);
                gl.Vertex(1.0, -1.0, -1.0);
                gl.End();
    
                
            }
    

      

    放置控件openGLControl1

    添加事件openGLControl1_OpenGLDraw

    Form初始化

     public Form1()
            {
                InitializeComponent();
                gl = this.openGLControl1.OpenGL;
                timer1.Start();
            }

    记得添加OpenGL, SharpGL包!!!记得添加OpenGL, SharpGL包!!!记得添加OpenGL, SharpGL包!!!

    感谢支持!!!!

    感谢支持!!!!

  • 相关阅读:
    2018 蓝桥杯省赛 B 组模拟赛(一)-年龄
    在win10系统下安装和卸载Ubuntu系统(为了搞双系统)的各种办法
    2018 CCPC 中国大学生程序设计竞赛-网络选拔赛 1004(D题 )Find Integer(三角函数+费马大定理)
    HDU(杭州电子科技大学) 2614 Beat (BFS写法)
    SQL server用到的SQL语句备份下
    【SQL Server】SQL触发器经验详解
    SQL SERVER 语句大全
    sqlserver 触发器实例代码
    触发器deleted 表和 inserted 表详解
    SQL server触发器中 update insert delete 分别给写个例子被。
  • 原文地址:https://www.cnblogs.com/guyandianzi/p/11050263.html
Copyright © 2011-2022 走看看