OpenGL PBR Shader
Shadow Techniques - Shadow Mapping/PCF/PCFF
Environment Mapping — Shadowed/Inter-reflection
Global Illumination — SSR
Physically Based Materials — Kulla-Conty BRDF
Real-time Ray Tracing — Denoising
Grid Acceleration
Path Tracing
实时渲染
- OpenGL Physically-Based Rendering (PBR) Shader:
基于LearnOpenGL教程实现了一套完整的PBR着色器,支持以下功能:
- 模型处理:高效加载与渲染3D模型。
- 点光源阴影:点光源全方向阴影映射。
- 视差映射:通过基于纹理的置换模拟平面表面的深度感。
- 高动态范围 (HDR):实现色调映射,精确呈现光照强度。
- 泛光:添加后期处理泛光效果,增强亮点表现。
-
基于物理的表面模型:Microfacet-based/Disney-principled BRDF实现真实感表面光照
- 基于图像的光照 (IBL): 集成IBL,模拟环境反射与漫反射光照。
- 进阶的实时渲染算法:基于Games202课程中的概念,在WebGL中实现了以下算法:
- 阴影技术:Two-pass shadow mapping, Percentage Closer Filtering (PCF), and PCF Filtering with Variance (PCFF).
- 环境映射: 预计算辐射传输 (PRT),实现动态光照。
- 全局光照: 屏幕空间反射 (SSR),模拟间接反射。
- 基于物理的材质: 实现Kulla-Conty BRDF,弥补能量损失。
- 实时光线追踪 (RTRT): 集成降噪技术以提升光追输出质量。
离线渲染
- 基础光线追踪:基于MIT 2004 Computer Graphics课程用C++实现了一个Whitted-Style光线追踪器
,包括:
- 基础框架:相机、变换、基本图元、材质等。
- 递归反射与折射:模拟真实光线交互。
- 网格加速: 优化光线与物体的相交计算效率。
- 抗锯齿: 通过超采样提升图像质量。
- 路径追踪:基于Games101: Introduction to Computer Graphics课程扩展了光线追踪器,实现了以下功能:
- Bounding Volume Hierarchy (BVH): 通过BVH加速场景计算处理。
- Path Tracing: 使用蒙特卡洛方法模拟全局光照,并结合俄罗斯轮盘赌优化采样效率。