(第2版).jpg)
书: https://pan.baidu.com/s/1LWWovU7IScpiddLrDhjl1w?pwd=pc5n
笔记如下:
- OpenGL初始化:介绍如何设置OpenGL环境,包括窗口创建和上下文配置。
- 图形管线:解释OpenGL的可编程渲染管线,包括顶点着色器和片段着色器的作用。
- 顶点缓冲对象(VBO):讲解如何使用VBO高效存储和管理顶点数据。
- 着色器编程:提供GLSL(OpenGL着色语言)基础语法和编写自定义着色器的示例。
- 3D变换:涵盖模型、视图和投影矩阵,以及如何在OpenGL中实现平移、旋转和缩放。
- 光照模型:介绍Phong光照模型,包括环境光、漫反射和高光计算。
- 纹理映射:讲解如何加载和应用纹理贴图到3D模型。
- 帧缓冲对象(FBO):说明离屏渲染技术,用于后期处理效果。
- 几何着色器:探讨几何着色器的用途,如动态生成或修改几何图形。
- 实例化渲染:优化大量相同对象的绘制,减少CPU-GPU通信开销。
- 相机控制:实现第一人称或第三人称相机,包括鼠标和键盘交互。
- 模型加载:使用Assimp等库导入外部3D模型文件(如OBJ、FBX)。
- 碰撞检测:基础AABB(轴对齐包围盒)和球体碰撞检测算法。
- 粒子系统:创建动态效果(如火焰、烟雾)的GPU驱动粒子系统。
- 阴影映射:通过深度贴图实现实时阴影渲染技术。
- 抗锯齿:介绍MSAA(多重采样抗锯齿)和FXAA(快速近似抗锯齿)。
- 延迟渲染:优化多光源场景的渲染性能。
- OpenGL调试:使用GL_KHR_debug扩展诊断常见错误。
- C++优化:结合现代C++特性(如RAII、智能指针)管理OpenGL资源。
- 跨平台适配:处理Windows、Linux和macOS上的OpenGL差异。