效果截图:
代码展示: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;
        }
    }

OpenGL小试牛刀第一季的更多相关文章

  1. OpenGL小试牛刀第二季(粒子模拟)

    效果截图:粒子模拟代码展示:#include "Particle.h" /** 构造函数 */CParticle::CParticle(){ data = NULL; numpar ...

  2. 今年第一季全球PC出貨量同比下降5.2%

    市場調研公司Gartner上周發佈報告稱,隨著企業支出的下滑,今年第一季全球PC出貨量同比下降5.2%迪士尼美語評價.英特爾稱,第一季筆記本晶片出貨量同比增長3%,但是筆記本晶片的平均銷售價格下降了3 ...

  3. JAVA入门第一季(mooc-笔记)

    笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...

  4. QQ聊天界面的布局和设计(IOS篇)-第一季

    我写的源文件整个工程会再第二季中发上来~,存在百度网盘, 感兴趣的童鞋, 可以关注我的博客更新,到时自己去下载~.喵~~~ QQChat Layout - 第一季 一.准备工作 1.将假数据messa ...

  5. Asp.Net MVC3 简单入门第一季(三)详解Controller之Filter

    前言 前面两篇写的比较简单,刚开始写这个系列的时候我面向的对象是刚开始接触Asp.Net MVC的朋友,所以写的尽量简单.所以写的没多少技术含量.把这些技术总结出来,然后一简单的方式让更多的人很好的接 ...

  6. Hadoop 2.x从零基础到挑战百万年薪第一季

    鉴于目前大数据Hadoop 2.x被企业广泛使用,在实际的企业项目中需要更加深入的灵活运用,并且Hadoop 2.x是大数据平台处理 的框架的基石,尤其在海量数据的存储HDFS.分布式资源管理和任务调 ...

  7. 高晓松脱口秀--晓说(第一季&第二季)mp3下载

    晓说 第一季 (1-5) http://pan.baidu.com/share/link?shareid=480859&uk=4043605559 (6-10) http://pan.baid ...

  8. 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)

    根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: ...

  9. 《java入门第一季》之面向对象(谈谈接口)

    软件中有接口,这里的接口与硬件中的接口还是有很大区别的. 这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!) 还是直接进入接口的 ...

随机推荐

  1. USB相关资料

    http://www.usb.org/developers/defined_class/#BaseClass00h http://blog.csdn.net/lizzywu/article/detai ...

  2. dialog 设置maxHeight 最大高度

    WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);Displ ...

  3. echarts学习的一些笔记

    工具栏组件 Show 是否显示 Feature 具体显示的功能 saveAslmage  保存图片 Restore 还原 dataZoom  缩放视图 magicType 动态类型切换 toltip组 ...

  4. 30个物联网传感器小实验:三行代码点亮LED灯

    30个物联网传感器小实验:三行代码点亮LED灯 三行代码点亮LED灯 LED灯闪烁 LED灯调亮度 LED淡入淡出 不写一行代码点亮LED灯 全彩RGB灯 面包板 30个物联网传感器小实验:三行代码点 ...

  5. 【转】insert忽略重复、mysql插入操作跳过、插入覆盖覆盖、mysql更新重复

    需求背景:一般情况,插入数据的时候,有脏数据的情况,主键重复的话,直接insert into 会报错的,然后下面的sql都不再执行了,如果可以确定后面的数据可以覆盖前面的数据,直接用replace i ...

  6. 关于c语言中的字符串的问题

      静态数组,动态数组,链表是c语言中处理存储数据最基本的三种方式. 1.静态数组,你先定好大小,直接赋值即可,不要超过定义的长度. 2.动态分配数组,在执行的时候,输入要分的内存大小,然后p=(vo ...

  7. [Xcode 实际操作]七、文件与数据-(10)NSkeyedArchiver存储和解析数据,Swift对象的归档和恢复归档

    目录:[Swift]Xcode实际操作 本文将演示如何使用归档的方法,对模型对象进行持久化工作. 在项目名称上点击鼠标右键,弹出右键菜单,选择[New File]新建文件命令, 在弹出的模板选项窗口中 ...

  8. Spring配置文件xsi:schemaLocation无法解析导致启动失败的解决方案

    今天遇到过情况,spring的配置文件在本地读取没有问题,扔到线上服务器运行就报无法解析xml,找了很久问题,发现是因为线上服务器无法上网,导致无法下载相关的xsd文件,没办法不能上网就只有使用本地的 ...

  9. react-native-syan-image-picker的使用

    传送门 第一种方式:link 第一步:安装 1.  npm install react-native-syan-image-picker --save 2.  react-native link re ...

  10. 2016 CCPC-Final

    A.The Third Cup is Free #include <bits/stdc++.h> using namespace std; typedef long long ll; in ...