GAMES202 Lecture 02 Recap of CG Basics
1.GAMES202 Lecture 02 Recap of CG Basics
2.GAMES202 Lecture 03 Real-time Shadows 13.GAMES202 Lecture 04 Real-time Shadows 24.GAMES202 Lecture 06 Real-time Environment Mapping (Precomputed Radiance Transfer)5.GAMES202 Lecture 07 Real-time Global Illumination (in 3D)6.GAMES202 Lecture 08 & 09 Real-time Global Illumination (screen space)7.GAMES202 Lecture 10 & 11 Real-time Physically-based Materials (surface model)8.GAMES202 Lecture 12 Real-time Ray Tracing9.GAMES202 Lecture 13 Real-time Ray Tracing 210.GAMES202 Lecture 14 A Glimpse of Industrial SolutionsLecture 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效果提升越来越不明显)
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!