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包!!!

    感谢支持!!!!

    感谢支持!!!!

  • 相关阅读:
    WPF Timer替代者
    <转>Change the Background of a selected ListBox Item
    WPF Button样式模板
    WPF中自定义只能输入数字的TextBox
    ansible playbook模式及语法
    数据挖掘Kaggle
    电影网站
    数据挖掘面临的科学和工程的新问题
    KDD Cup 2012(今年数据挖掘在中国)
    能力是在执行中实现的,要高节奏不要详细的设计
  • 原文地址:https://www.cnblogs.com/guyandianzi/p/11050263.html
Copyright © 2011-2022 走看看