图形编程 (个人)2022-11-15 实时及离线渲染实践

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的PBR着色器、进阶的实时渲染算法以及C++离线渲染器。

实时渲染
  • 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:  使用蒙特卡洛方法模拟全局光照,并结合俄罗斯轮盘赌优化采样效率。


软件: Visual Studio, Visual Studio Code

©Shijia Liu
Technical  Art
Fantasyland