【OpenGL 学习笔记01】HelloWorld演示样例
<<OpenGL Programming Guide>>这本书是看了忘,忘了又看,赶脚还是把笔记做一做心里比較踏实,哈哈。
我的主题是,好记性不如烂笔头。
================================================================
1. 下载glut库
glut库地址为:www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
glut全称为:OpenGL Utility Toolkit。也就是OpenGL应用工具包。它建立在OpenGL基础之上。方便开发OpenGL的某些功能,比方我们后面要创建的Windows程序,就能够用glut来方便地构建起一个初始化的Windows程序。
2. 安装glut库
为了能使用glut库,我们解压开这个zip包,会发现当中包括例如以下几个文件。我们须要复制一下下面几个文件:
glut.h:头文件,拷贝到D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl文件夹下(须要自己来新建gl文件夹)
glut.lib,glut32.lib:静态链接库。拷贝到D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib文件夹下
glut.dll,glut32.dll:动态链接库。拷贝到C:\Windows\System32文件夹下。64位操作系统的,还须要拷贝到C:\Windows\SysWOW64文件夹下。
3.创建project
创建一个win32应用控制台project。
4.HelloWorld演示样例
#include <GL/glut.h> void display(void)
{ glClear (GL_COLOR_BUFFER_BIT); //清除颜色缓冲区 glColor3f (1.0, 1.0, 1.0); //设置绘制的颜色为白色(红。绿,蓝,) glBegin(GL_POLYGON); //标志着一个顶点数据列表的開始。GL_POLYGON表示绘制简单的凸多边形
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd(); //标志着一个顶点数据列表的结束 glFlush ();
} void init (void)
{ glClearColor (0.0, 0.0, 0.0, 0.0); //设置窗体将被清除成黑色
glMatrixMode(GL_PROJECTION); //将当前矩阵指定为投影矩阵
glLoadIdentity(); //把当前矩阵设为单位矩阵
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);//指定绘制图像时使用的坐标系统 glOrtho(Xmin,Xmax,Ymin,Ymax,Zmin,Zmax);
} int main(int argc, char** argv)
{
//初始化gult
glutInit(&argc, argv); //指定使用RGBA模式还是颜色索引模式,单缓冲还是双缓冲。 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); //指定窗体大小(像素为单位)
glutInitWindowSize (250, 250); //左上角位置
glutInitWindowPosition (100, 100); //创建窗体,glutMainLoop()之后才会显示
glutCreateWindow ("hello"); //初始化一次
init (); //显示回调函数,当glut确定窗体须要重绘时。回调函数会运行。 //因此场景重绘代码应该放在这里
glutDisplayFunc(display); //启动程序。
glutMainLoop();
return 0;
}
5.效果图
【OpenGL 学习笔记01】HelloWorld演示样例的更多相关文章
- openWRT学习之LUCI之中的一个helloworld演示样例
备注1:本文 讲述的是原生的openWRT环境下的LUCI 备注2:本文參考了诸多资料.感谢网友分享.參考资料: http://www.cnblogs.com/zmkeil/archive/2013/ ...
- OpenGL 学习笔记 01 环境配置
以下教程仅适用于Mac下的Xcode编程环境!其他的我也不会搞. 推荐教程:opengl-tutorial 本项目Github网址 OpenGL太可怕了...必需得把学的记下来,不然绝壁 ...
- Solr 6.7学习笔记(03)-- 样例配置文件 solrconfig.xml
位于:${solr.home}\example\techproducts\solr\techproducts\conf\solrconfig.xml <?xml version="1. ...
- c语言学习之结构篇代码演示样例-输入n个同学的姓名,数学英语成绩,依照平均分从低到高排序并输出
#include<stdio.h> void main(){ const int count = 5;//定义数量 struct student{ char name[80]; float ...
- 最简单的视音频播放演示样例5:OpenGL播放RGB/YUV
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...
- Android利用Volley异步载入数据完整具体演示样例(二)
MainActivity例如以下: package cc.y; import android.app.Activity; import android.content.Context; import ...
- 模式识别 - 处理多演示样例学习(MIL)特征(matlab)
处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习( ...
- Tuxedo安装、配置、以及演示样例程序 (学习网址)
Tuxedo安装.配置.以及演示样例程序 (学习网址): 1.http://liu9403.iteye.com/blog/1415684 2.http://www.cnblogs.com/fnng/a ...
- 一步一步跟我学习lucene(18)---lucene索引时join和查询时join使用演示样例
了解sql的朋友都知道,我们在查询的时候能够採用join查询,即对有一定关联关系的对象进行联合查询来对多维的数据进行整理.这个联合查询的方式挺方便的.跟我们现实生活中的托人找关系类似,我们想要完毕一件 ...
随机推荐
- 洛谷P2564 [SCOI2009]生日礼物
题目背景 四川2009NOI省选 题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可 ...
- 【IDEA】IDEA设置修改完JS和JSP不用重启的办法(IDEA热部署)
修改完JS和JSP不停的重启服务器真的很烦,所以设置修改完之后不用重启也生效: 前提有两个: 确保使用的是debug模式. 确保tomcat是由idea实例化的.也就是说tomcat是在idea中配置 ...
- 信息传递(NOIP2015)(寻找最小环。。)
原题传送门 这是一道寻找最小环的题目. 在做的时候给每一个点染色.. 防止再做已经搜过的点(优化) v[]表示是否访问的过,以及第一次访问该点的时间. u[]表示染色.. 这道题还可以用拓补排序做. ...
- makefile函数集锦【转】
转自:http://blog.csdn.net/turkeyzhou/article/details/8612841 Makefile 常用函数表一.字符串处理函数1.$(subst FROM,TO ...
- c专家编程读书笔记
无论在什么时候,如果遇到malloc(strlen(str));,几乎可以直接断定他是错误的,而malloc(strlen(str)+1):才是正确的: 一个L的NUL哟关于结束一个ACSII字符串: ...
- React中input框设置value报错解析
react input 不设置onChange的常见错误截图 表单是前端非常重要的一块内容,并且往往包含了错误校验等逻辑. React对表单元素做了专门的优化处理,他对表单元素做了一些抽象,使得他们 ...
- inotify+rsync实现实时同步并邮件通知
服务器之间文件实时同步,监控文件的变化,发送邮件通知,并实时同步文件. 由于人工同步多台服务器的文件比较吃力,可以借助这样一套软件,自动化的实现这样的工作. 并且可以事实监控变化发送邮件给系统管理人员 ...
- 部署站点支持Https访问的方法
1.申请公钥和私钥,放到服务器 2.编辑default配置文件 改为 加上证书路径 ps:泛域名支持admin.xxx.com.demo.xxx.com等等,而免费的Let's Encrypt仅支持w ...
- 51nod 1432 独木舟【贪心】
1432 独木舟 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 n个人,已知每个人体重.独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两 ...
- [Usaco2010]Chocolate Eating
题目描述 贝西从大牛那里收到了N块巧克力.她不想把它们马上吃完,而是打算制定一个计划, 使得在接下来的D天里,她能够尽量地快乐.贝西的快乐指数可以用一个整数来衡量,一开始的时候是0,当她每天晚上睡觉的 ...