OpenGL学习笔记1:环境配置和基本流程

虽然游戏引擎能够满足游戏开发的绝大部分需求,但是如果仅仅会使用引擎而不懂得游戏引擎的运作原理和图形处理原理,势必会沦为引擎的奴隶。为了让自己不仅能够知其然,还要能知其所以然,决定从OpenGL开始研究图形学和游戏引擎开发技术。

前面还有很长的路,慢慢来。

环境配置

和往常一样,还没开始研究OpenGL就开始在网上找OpenGL的库,结果找了好久都没找到最新的库,官网上也都是文档(如果谁有最新的库希望能共享一下,谢谢)。后来通过找超级宝典的源码找到了一套比较齐的库,下载地址:http://download.csdn.net/detail/ylbs110/9547355

引用库和头文件的方法很多,直接将文件拖到工程下就可以引用。本文讲的是在工程外引用lib和头文件的方法。dll需要放在工程项目目录下。

lib

打开工程属性页面。
和其他C++工程一样,将所需lib添加到链接器的输入中的附加依赖项:
OpenGL学习笔记1:环境配置和基本流程_第1张图片
然后将包含该lib的文件夹路径添加到链接器常规选项的附加库目录:
OpenGL学习笔记1:环境配置和基本流程_第2张图片
头文件
开发中需要引用的头文件路径需要添加到VC++目录的包含目录中:
OpenGL学习笔记1:环境配置和基本流程_第3张图片

基本流程

由于之前自学过CG的Shder,所以在看书之前还以为它会和Shader一样从数据引用开始,接触之后才发现和其他库一样,也是通过调用函数来实现。

基本流程:

  1. 初始化图形库
  2. 设置显示状态(显示模式,窗口大小)->
  3. 创建窗口
  4. 在窗口上进行绘制
  5. 添加监听
  6. 错误检查
  7. 创建渲染环境
  8. 消息循环

代码示例如下:

    //初始化GLUT库
    glutInit(&argc,argv);
    //告诉GLUT库,在创建窗口时要使用哪种类型的显式模式
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL);
    //告诉GLUT窗口的大小,需要在下一个语句之前调用
    glutInitWindowSize(800, 600);
    //创建以“Triangle”为标题的窗口
    glutCreateWindow("Triangle");

    //窗口大小监听,ChangeSize为自定义方法名
    glutReshapeFunc(ChangeSize);
    //内容重绘监听,RenderScene为自定义方法名
    glutDisplayFunc(RenderScene);
//按键监听,SpecialKeys为自定义方法名
    glutSpecialFunc(SpecialKeys);

    //检查初始化过程中是否出现问题
    GLenum err = glewInit();
    if (GLEW_OK != err){
        fprintf(stderr,"GLEW Error:%s\n",glewGetErrorString(err));
        return 1;
    }
    //我们将在这里进行预加载文理,建立几何图形、渲染器等工作
    setupRC();
    //开始主消息循环,这个函数负责处理所有操作系统特定的消息、按键动作等,直到我们关闭程序为止,只需调用一次
    glutMainLoop();

转载请注明出处:http://blog.csdn.net/ylbs110/article/details/51648780

你可能感兴趣的:(基础,图形,OpenGL,游戏开发,游戏引擎)