<<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.效果图

最新文章

  1. [liusy.api-SMJ]-创建工程范例 MAVEN archetype 学习阶段(一)
  2. 初学Scala
  3. 03-c#入门(简易存款利息计算器v1.0)
  4. R in a nutshell(连载)
  5. jquery easyui 插件开发
  6. cf584a(水题)
  7. 主机无法访问虚拟机上的elasticsearch服务器
  8. DevExpress LookUpEdit和ComboBoxEdit部分用法
  9. Android 标题栏封装
  10. CreateObject(&quot;Wscript.Shell&quot;)用法
  11. django 常用命令
  12. Miller_Rabin、 Pollard_rho Template
  13. html:table属性cellpadding
  14. [转]正则匹配时对象必须为string or bytes-like object
  15. 关系网络理论︱细讲中介中心性(Betweeness Centrality)
  16. Spring_boot入门(1)
  17. Vmware10中Centos7挂载Windows主机的共享文件夹,提示:Error: cannot mount filesystem: No such device
  18. 如何安装Magento 2.0
  19. 在CentOS6.9 x86下编译libusb-1.0.22遇到的两个问题
  20. markdown 语法指南

热门文章

  1. 昨天用到的一个sql查询。可取处,用max
  2. linux 内核库函数 【转】
  3. Mac下jdk多版本管理
  4. 7.添加OpenStack计算服务
  5. 无类型指针 在delphi中可以直接赋值任何指针类型。
  6. 制作servlet模板
  7. hdu 5104(数学)
  8. 【原创】Talend ETL开发&mdash;&mdash;基于joblet的统一的email发送
  9. (1) SpringBoot创建发布
  10. ZOJ 3940 Modulo Query (2016年浙江省赛E题,区间折叠 + map运用)