/images/author/avatar.jpg

Zhihao (Ryan) Ruan

California Poppy — A Splendid Spring!

The winter of 2022–2023 has been an extremely wet one for California. The cold air from the North Pole rages down into the southern part of U.S. west coast, turning into heavy rain and snow. However, as a positive result, California is very likely to greet a splendid “super bloom” after several years of drought. Of all the flowers, California Poppy could be one of the most iconic flower species that worth a visit.

CAD2CAV: Computer Aided Design for Cooperative Autonomous Vehicles

CAD2CAV is a project focusing on multi-agent exploration in unknown environments. It attempts to build a complete system from perception to planning and control, exploring a designated unknown environments with multiple autonomous vehicles. It is built in xLab at the University of Pennsylvania, on multiple F1TENTH race cars. Useful documents: GitHub link Spring 2021 Final Report (not complete) Demo This is a sample scenario of a single F1TENTH race car exploring the 2nd floor of Levine Hall at the University of Pennsylvania, right outside xLab.

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 (ruanzh@seas.upenn.edu), Shubham Sharma (sshubh@seas.upenn.edu), Raymond Yang (rayyang@seas.upenn.edu) 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 Vulkan Vulkan is considered as the next-generation graphics API developed by Khronos group, in replacement for the old OpenGL.

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.