【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.创建工程

创建一个win32应用控制台工程。

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


转载于:https://www.cnblogs.com/fzll/p/3954576.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值