计算机图形学编程(使用OpenGL和C++)(第2版)((美)V.斯科特·戈登,(美)约翰)

书: https://pan.baidu.com/s/1LWWovU7IScpiddLrDhjl1w?pwd=pc5n
笔记如下:

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

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注