Volume Rendered ReSTIR in Vulkan
This is a project of a Vulkan implementation of Fast Volume Rendering with Spatiotemporal Reservoir Resampling. It achieves the following: Vulkan ray tracing pipeline with nvpro and Vulkan Ray Tracing KHR extension. Volume assets loading and rendering through OpenVDB. ReSTIR algorithm rendering on GLTF scene and volume assets. Authors Zhihao Ruan (firstname.lastname@example.org), Shubham Sharma (email@example.com), Raymond Yang (firstname.lastname@example.org) Tested on: Windows 10 Home 21H1 Build 19043.1288, Ryzen 7 3700X @ 3.
Vulkan Grass Rendering
Tested on: Windows 10 Home 21H1 Build 19043.1288, Ryzen 7 3700X @ 3.59GHz 48GB, RTX 2060 Super 8GB Highlights This project implements physically-based grass rendering & culling with Vulkan compute shaders: Physically-based real-time rendering of grass blades; 3 different culling tests: orientation culling, view-frustum culling, distance culling; Tessellating Bezier curves into grass blades with GLSL tessellation shader A detailed instruction of this project can be found here.
CUDA Path Tracer with À-Trous Denoiser
Tested on: Ubuntu 20.04 LTS, Ryzen 3700X @ 2.22GHz 48GB, RTX 2060 Super @ 7976MB CUDA Path Tracer Highlights Finished path tracing core features: diffuse shaders perfect specular reflection 1st-bounce ray intersection caching radix sort by material type path continuation/termination by Thrust stream compaction Finished Advanced Features: Refraction with Fresnel effects using Schlick’s approximation Stochastic sampled anti-aliasing Physically-based depth of field OBJ mesh loading with tinyobjloader Background: Ray Tracing Ray tracing is a technique commonly used in rendering.
Minecraft Game Programming
In the fall of 2020, I finally had a chance to explore the field of computer graphics at University of Pennsylvania, and did a very interesting course project which builds a simplified Minecraft from scratch. This game is built on OpenGL 3.2 with Qt 5.15.0. Through building this game, I learned a lot about OpenGL rendering pipeline, game engine & texture mapping. Demo Video Overview Minecraft is originally well-known for its block-like structure.