✠OpenGL-1-入门

本文介绍了图形编程的基本要素,包括使用C++和OpenGL进行图形渲染的方法。文章详细解释了OpenGL着色语言(GLSL)的作用,以及如何利用GLFW等库管理窗口和输入。此外,还讨论了扩展库GLEW的应用,数学库GLM的重要性,以及纹理加载库SOIL2的使用。
  1. 有些程序是用诸如C++或Java等标准编程语言编写的,并运行在CPU上;而另一些是用专用的着色器语言编写的,并直接运行在显卡(GPU)上。

  2. 总的来说,你需要以下这些语言和库:
    ◉C++开发环境
    ◉OpenGL / GLSL
    ◉窗口管理
    ◉扩展库
    ◉数学库
    ◉纹理管理

  3. 2.0版本中引入了OpenGL着色语言(GLSL),使得“着色器程序”可以在图形管线的各个阶段被安装和直接执行。
    3.1版本中移除了大量被弃用的功能,以强制使用着色器编程,而不是之前的老方法。

  4. 窗口管理:
    OpenGL实际上并不是把图像直接绘制到计算机屏幕上,而是渲染到一个帧缓冲区,然后需要由这台机器来负责把帧缓冲区的内容绘制到屏幕上的一个窗口中。
    GLFW(Graphics Library Framework)即“图形库框架” 是配合 OpenGL 使用的轻量级工具程序库。GLFW 的主要功能是创建并管理窗口和 OpenGL 上下文,同时还提供了处理手柄、键盘、鼠标输入的功能。有类似功能的库还有 GLUT和 SDL。

  5. 扩展库:
    比如Glee、GLLoader和GLEW,以及更加新的GL3W和GLAD。
    本书中使用库GLEW(OpenGL Extension Wrangler)即“扩展牧马人”。GLEW扩展库是个简单的工具,用于帮助C/C++开发者初始化扩展并书写可移植的应用程序。有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。

  6. 数学库:
    常常和OpengGL一起使用的两个这样的库是Eigen和vmath。
    本书中使用的可能最流行的数学库是OpenGL Mathematics(GLM)。GLM提供与图形概念相关的类和基本数学函数,例如:失量、矩阵和四元数。它还包含各种工具类,用于创建和使用常见的3D图形结构,例如透视和视角矩阵。

  7. 纹理管理:
    我们将使用图像文件来向我们图形场景中的对象添加“纹理”。这意味着我们会频繁加载这些图像文件到我们的C++/OpenGL代码中。考虑到各种各样的图像文件格式,使用一个纹理加载库通常是更好的。比如FreeImage、DevIL、OpenGL Image(GLI)和Glraw。简单OpenGL图像加载器(Simple OpenGL Image Loader,SOIL)可能是最常用的OpenGL图像加载库,尽管它有点过时了。SOIL2是SOIL的一个更新的分叉版本,它兼容各种平台。

  8. 可选库
    有一些更复杂的现成的OBJ加载器可供选择,比如Assimp和tinyobjloader。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值