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

    感谢支持!!!!

    感谢支持!!!!

  • 相关阅读:
    加强面向对象设计思想需要学习的知识
    (转载)myeclipse快捷键
    tomcat的jdbc驱动
    mysql常见设置
    不用配制数据源如何用JDBC连接access数据库
    关于updatePanel
    jsp常见问题
    Servlet问题
    Rational Rose未找到suite objects.dll问题
    jsp+servlet+javabean实现简单的查询
  • 原文地址:https://www.cnblogs.com/guyandianzi/p/11050263.html
Copyright © 2011-2022 走看看