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

转载于:https://www.cnblogs.com/zzkgis/p/3742299.html

OpenGL小试牛刀第一季相关推荐

  1. C++基础第一季-师占标-专题视频课程

    C++基础第一季-15069人已学习 课程介绍         一门初级.C++语法教程,适合于所有初学者,听者必懂. 有问题咨询老师微信,微信号:mikeshizhanbiao 课程收益     让 ...

  2. tp点一共有多少_致命女人更新时间 致命女人第一季一共多少集在线观看地址

    由主创Marc Cherry打造的全新黑色喜剧<致命女人>(Why Women Kill)确定了首播日期,现在第一季已经播出完毕了,但是致命女人更新时间是什么时候呢?致命女人第一季一共多少 ...

  3. 危机边缘第一季/全集Fringe迅雷下载

    本季Fringe Season 2 第二季(2008)看点:一架从汉堡飞往波士顿航班安全着陆,飞机上的机组成员和乘客却全部死亡.这起离奇案件揭开了一连串奇异.危险事件的序幕. 故事将主要讲述年轻的FB ...

  4. 暴君第一季/全集Tyrant迅雷下载

    本季第一季 Tyrant Season 1 (2014)看点:虽然李安退出了FX系列剧<暴君>(Tyrant),称不想耽误了剧集的制作,但显然FX对这部剧的重视程度非比寻常,因为他们找来的 ...

  5. 逍遥法外第一季/全集How To Get Away With Murder迅雷下载

    英文译名 How To Get Away With Murder (第1季) (2014-09-26首播)ABC. 本季看点: <逍遥法外又名:天才刑法班>由<实习医生格蕾>和 ...

  6. 2021阿里巴巴大数据技术公开课第一季:外部工具连接SaaS模式云数仓MaxCompute实战

    简介:MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速.全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运 ...

  7. 【第一季】CH07_FPGA_RunLED创建VIVADO工程实验

    [第一季]CH07_FPGA_RunLED创建VIVADO工程实验 7.1 硬件图片 先来熟悉一下开发板的硬件:LED部分及按钮部分 7.2 硬件原理图 PIN脚定义(讲解以MIZ702讲解,MIZ7 ...

  8. LiveVideoStackCon讲师热身分享第一季

    LiveVideoStackCon 2018音视频技术大会是每年的多媒体技术人的盛宴,为了让参会者与大会讲师更多互动交流,我们推出了LiveVideoStackCon讲师热身分享第一季,在每周四晚19 ...

  9. 零基础建站第一季视频分享

    网上找的资源,属于大众普及型的,没有涉及到代码编程,但是很浅显易懂,可以了解一个真实网站的搭建过程. 该系列视频由后盾网深水鱼提供,后盾网bbs:http://bbs.houdunwang.com/ ...

最新文章

  1. 澳大利亚多地热浪来袭 最高温度超40摄氏度
  2. 生命的脆弱——悼念朋友
  3. ORACLE时间函数(SYSDATE)深入理解
  4. 【Android】换肤技术讲解
  5. 力扣(LeetCode)31
  6. QT Creator使用matlab库文件读取.mat文件数据
  7. 川大计算机高考分数,2020年四川大学录取分数是多少 2020年高考多少分可以报考四川大学...
  8. Orchard之生成新模板
  9. linux数据泵导入command not found_MySQL:数据库结构优化、高可用架构设计、数据库索引优化...
  10. JavaScript读写.txt文档 - 方法篇
  11. 字符串比较strcmp
  12. render_notebook()结果没有图_数与图(20)——机器学习.下
  13. 中国水下照明行业市场供需与战略研究报告
  14. C# xml压缩包不解压的情况下解析xml内容
  15. Android之notification通知无法点击打开APP问题解决
  16. android圆形取色盘,Android一个HSB的彩色圆盘
  17. 原装安装版WIN10安装详细教程
  18. 如何优雅地下载计算机领域英文文献--dblp的食用方法(多图警告)
  19. 403 Forbidden vs 401 Unauthorized HTTP 响应
  20. .NET笔记系列:LAMBDA表达式常用写法

热门文章

  1. vscode vue解决跨域_Vue + WebPack + Typescript初学者VSCode项目 (按需加载、跨域调试、await/async)...
  2. uiautomation遍历windows所有窗口_万字长文!滑动窗口看这篇就够了!
  3. c字符串截取一部分字符串_Python如何截取一段字符串?
  4. JAVA复习5(集合——HashSet)
  5. log4j2.xml 文件
  6. java 配置文件 路径问题_java 配置文件的路径问题
  7. mysql删除数据不会减少存储占用_Mysql单文件存储删除数据文件容量不会减少的bug与解决方法...
  8. abb软启动器pstx手册_关于 ABB工业机器人碰撞检测功能的介绍
  9. taskscheduler java_java – 针对不同任务的不同taskScheduler
  10. python里的符号区别_Python中的方括号和点符号有什么区别?