OpenGL的简单研究-开端
一直想要学习的但是没有学习的东西,大学一直在等待这个时间,终于可以闲下来研究一下这个部分的内容了。
计算机图形学,让计算机处理各种图像的东西,里面也存在很多算法和数学知识,很值得研究的一个领域,之前一直混迹在各种Web和服务器之中,终于可以学一些感觉很酷的东西。其实Web服务器也很酷。
我准备的运行环境还是比较简单的,是Win10操作系统,VS2015的开发环境。因为这种方式配置简单一些,之前试过使用GCC作为编译器和CFree作为开发环境,一直不成功,于是就用开了VC开发。
环境配置的过程是在网上百度的,内容没有什么技术含量,那么久开始看第一个代码吧。
一般都是从Hello World开始的,但是OpenGL还是从画一个方框开始吧:
1 #include <GL/glut.h> 2 void myDisplay() { 3 glClearColor(0.0, 0.0, 0.0, 0.0); 4 glClear(GL_COLOR_BUFFER_BIT); 5 6 glColor3f(1.0f, 1.0f, 1.0f); 7 glRectf(-0.5, -0.5, 0.5, 0.5f); 8 9 glBegin(GL_TRIANGLES); 10 glColor3f(1.0f, 0.0f, 0.0f); 11 glColor3f(0.0f, 1.0f, 0.0f); 12 glColor3f(0.0f, 0.0f, 1.0f); 13 glEnd(); 14 15 glPointSize(3); 16 glBegin(GL_POINT); 17 glColor3f(1.0f, 0.0f, 0.0f); 18 glColor3f(0.0f, 1.0f, 0.0f); 19 glColor3f(0.0f, 0.0f, 1.0f); 20 glEnd(); 21 22 glFlush(); 23 } 24 25 int main(int argc,char* argv[]) { 26 glutInit(&argc, argv); 27 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 28 glutInitWindowPosition(100, 100); 29 glutInitWindowSize(400,400); 30 glutCreateWindow("hello world"); 31 glutDisplayFunc(&myDisplay); 32 glutMainLoop(); 33 return 0; 34 }
这个程序的作用是画一个白色的方框,下面分析一下这个代码:
在对于OpenGL中会有下面几个操作,比较基础和固定:
1 int main(int argc,char* argv[]) { 2 //对GLUT进行初始化,函数必须在其他GLUT使用之前调用一次,固定格式。 3 glutInit(&argc, argv); 4 //设置显示方式,RGB为RGB颜色,还有INDEX索引颜色,SINGLE单缓冲,DOUBLE双缓冲 5 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 6 //在屏幕出现的位置 7 glutInitWindowPosition(100, 100); 8 //窗口的大小 9 glutInitWindowSize(400,400); 10 //创建窗口,标题为“helloworld”,而且这个窗口创建之后不会立即显示在屏幕上,必须调用了glutMainLoop()才会显示在屏幕上 11 glutCreateWindow("hello world"); 12 //设置一个函数,画图是调用这个函数 13 glutDisplayFunc(&myDisplay); 14 glutMainLoop(); 15 return 0; 16 }
1 //画图的函数 2 void myDisplay() { 3 //清空颜色为黑色,就是不显示图像的地方为黑色 4 glClearColor(0.0, 0.0, 0.0, 0.0); 5 //设置背景为清空颜色 6 glClear(GL_COLOR_BUFFER_BIT); 7 8 glColor3f(1.0f, 1.0f, 1.0f); 9 10 //画图,画一个矩形 11 glRectf(-0.5, -0.5, 0.5, 0.5f); 12 13 14 15 /* 16 glBegin(GL_TRIANGLES); 17 glColor3f(1.0f, 0.0f, 0.0f); 18 glColor3f(0.0f, 1.0f, 0.0f); 19 glColor3f(0.0f, 0.0f, 1.0f); 20 glEnd(); 21 22 glPointSize(3); 23 glBegin(GL_POINT); 24 glColor3f(1.0f, 0.0f, 0.0f); 25 glColor3f(0.0f, 1.0f, 0.0f); 26 glColor3f(0.0f, 0.0f, 1.0f); 27 glEnd(); 28 29 */ 30 31 32 //保证前面的命令立即执行 33 glFlush(); 34 }
转载于:https://www.cnblogs.com/Summer7C/p/5922515.html
OpenGL的简单研究-开端相关推荐
- OpenGL simpletexture简单的纹理的实例
OpenGL simpletexture简单的纹理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <vmath.h> #includ ...
- OpenGL ES 简单教程
OpenGL ES 简单教程 2014-04-24 13:35 佚名 apkbus 字号:T | T 什么是OpenGL ES?OpenGL ES (为OpenGL for Embedded Syst ...
- 简单研究用于监控数通设备的Zabbix模板:Template Module Interfaces SNMP与Template Module EtherLike-MIB SNMP
本人的工作环境中已经有一套Zabbix平台用于监控1000台数量以上的交换机,该运维平台主要有如下作用: 查找某个区域的某台设备IP地址以方便管理员远程登录.查看/修改设备配置: 通过SNMP检测设备 ...
- [转载]3721驻留机制简单研究
[转载]3721的驻留机制简单研究 Quaful@水木清华 简单研究了一下3721的机制,写在这里,作为心得笔记吧.大部分收获都来自 Softice + 反汇编,不一定适用于某些版本. 1. CnsM ...
- 泰山OFFICE技术讲座:竖排时中文标点的简单研究
中文标点有两类,横排和竖排.那么,在竖排时,会产生什么差异呢?是否会因为竖排标点,产生布局的差异?于是进行了简单研究: 横排时,竖排标点,作为普通字符对待,没有特殊处理. 竖排时,竖排标点还是作为普通 ...
- 实验二:OpenGL的简单动画
实验二:OpenGL的简单动画 一.实验目的 1.掌握OpenGL的闲置函数. 2.掌握OpenGL的时间函数. 3.掌握OpenGL的简单动画功能. 4.了解OpengGL裁剪窗口.视区.显示窗 口 ...
- OpenGL之简单渲染一个三角形
一.资源准备 环境准备:本文是基于OpenGL的开发环境搭建完成的情况下,进行一些简单图形的渲染和显示(macOS的OpenGL环境搭建,详情可参考我之前的文章:OpenGL在macOS上的环境搭建) ...
- 对List.Sort的简单研究
最近一直忙着修改项目中的bug,特别是一些绑定的列表排序,因为是中途加入的,所以我一般不改变别人的存储过程或者类方法,只在需要的时候帮其排序一下,不过非常郁闷...... 为什么呢???存储过程用得是 ...
- 使用cle 调用opengl的简单例子(android)
使用Using common language extension(cle)作为接口组件,编程能够得到很大简化.下面是一个调用opengl的例子,是从ndk example hello-gl2.修改而 ...
最新文章
- php数组的奇数_用php输出一个数组中的偶数或奇数的方法
- JQuery自定义插件详解之Banner图滚动插件
- Leetcode1694. 重新格式化电话号码[C++题解]:字符串模拟题
- Hadoop2.6.0子项目hadoop-mapreduce-examples的简单介绍
- Oracle 外连接和 (+)号的用法
- 多年前的树莓派 B+ 重新工作
- Markdown简单上手
- 2017.9.6 外星人 思考记录
- 马云后悔创办阿里:想停根本停不下来;人民日报评“滴滴顺风车争议”;jQuery 曝漏洞|极客头条...
- ubuntu 安装nvidia 驱动后无法进入桌面(循环进入登录界面 )
- SharePoint Designer 2010中的外部内容类型-SQL Server
- Maven 设置本地仓库的地址
- Silverlight学习笔记四BusyIndicator控件(进度条)
- 计算机英语词汇带音标,常用计算机英语词汇3000例(含音标)
- 网页数据提取----网络投票软件开发
- Python计算经济距离权重矩阵
- 看我拿下域控-cve2020-1472-Netlogon
- opencv 提取彩色图像轮廓
- shawl.qiu Javascript 前景色背景色调色类 / BgColorScheme v1.0
- 果园大二下英方课学习姿势