• OpenGL小试牛刀第一季


    效果截图:图片
    代码展示:using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using SharpGL;
    namespace Example1
    {
        public partial class FormExample : Form
        {
            public FormExample()
            {
                InitializeComponent();
                rbfull.Checked = true;
            }
            /// <summary>
            /// 默认绘画模式为线条
            /// </summary>
            private uint _model = OpenGL.LINE_LOOP;
            /// <summary>
            /// X轴坐标
            /// </summary>
            private float _x = 0;
            /// <summary>
            /// Y轴坐标
            /// </summary>
            private float _y = 0;
            /// <summary>
            /// Z轴坐标
            /// </summary>
            private float _z = 0;
            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();      // 结束绘制
            }
            private void rbfull_CheckedChanged(object sender, EventArgs e)
            {
                _model = OpenGL.QUADS;
            }
            private void rbline_CheckedChanged(object sender, EventArgs e)
            {
                _model = OpenGL.LINE_LOOP;
            }
            private void tbX_Scroll(object sender, EventArgs e)
            {
                int x = tbX.Value;
                _x = x;
                labX.Text = "X:" + x;
            }
            private void tbY_Scroll(object sender, EventArgs e)
            {
                int y = tbY.Value;
                _y = y;
                labY.Text = "Y:" + y;
            }
            private void tbZ_Scroll(object sender, EventArgs e)
            {
                int z = tbZ.Value;
                _z = z;
                labZ.Text = "Z:" + z;
            }
            private void btnReset_Click(object sender, EventArgs e)
            {
                _x = _y = _z = 0;
            }
        }
  • 相关阅读:
    SSH连接linux的centos报The host '192.168.*.*' is unreachable
    页面格式化数值
    学习webservice之cxf(8):Spring整合CXF
    学习webservice之cxf(7):cxf自定义拦截器
    学习webservice之cxf(6):cxf内置拦截器
    学习webservice之cxf(5):cxf处理map等复杂类型
    学习webservice之cxf(4):cxf处理javabean以及复合类型
    学习webservice之cxf(3):使用webservice实现客户端
    学习webservice之cxf(1):使用cxf实现webservice(使用jdk1.8)
    学习webservice之cxf(2):使用java代码使用webservice(jdk1.8无法使用)
  • 原文地址:https://www.cnblogs.com/zzkgis/p/3742299.html
Copyright © 2020-2023  润新知