Lecture 02 Recap of CG Basics
Graphics Pipeline
光栅化、深度测试、Blinn-Phong模型、纹理映射&插值
OpenGL
总结:每一个pass
- 定义物体、相机、MVP
- 定义帧缓冲区、输入输出纹理
- 定义Vertex Shader / Fragment Shader
- 渲染
其他的
-
多趟pass
如ShadowMap
Shading Languages
Shader Setup
-
初始化
- 创建shader
- 编译shader
- Attach to program
- 链接
- Use program
program由shader链接组成
-
Debuggering Shaders
- 以前:NVIDIA Nsight
- 现在:
- Nsight Graphics 跨平台,仅限N卡
- RenderDoc 跨平台,不限制显卡
- 直接显示颜色,使用ColorPicker
- 负数加上offset
Rendering Equation 渲染方程
-
渲染中最重要的方程
-
描述光线传播
\[L_o(p,\omega_o)=L_e(p,\omega)+\int_{H^2}f_r(p,\omega_i\rightarrow\omega_o)L_i(p,\omega_i)\cos\theta_id\omega_i\\ 分别为outgoing\ radiance,\ emission,\ BRDF,\ incident\ radiance \] -
在实时渲染中
\[L_o(p,\omega_o)=\int_{\Omega^+}L_i(p,\omega_i)f_r(p,\omega_i,\omega_o)\cos\theta_iV(p,\omega_i)d\omega_i\\ 分别位outgoing\ lighting,\ incident\ lighting(from source),\ (cosine-weighted)BRDF\\ visibility \]引入了visibility,实时渲染中更关注“发出的光线”
-
Environment Lighting 环境光
通过visibility,在环境光中,将实际上的光源和能不能看到分开考虑
-
Global Illumination 全局光照
GI = 直接光照+间接光照,难点在于间接光照
实时渲染中一般只考虑One-bounce GI(多几次bounce效果提升越来越不明显)
-
-