top of page
No Collections Here
Sort your projects into collections. Click on "Manage Collections" to get started


Real-time Volumetric Sea of Cloud
A performant real-time volumetric sea of cloud rendering system.
The cloud system is rendered with the ray marching method, and has a unique spiral “supercell” feature based on logarithmic spiral curve.
Furthermore, it is optimized with different methods such as down sampling, dithering and TAA for acceptable quality and performance in real-time applications.
There is also a SIGGRAPH-style report demonstrating my technical writing skills.
The cloud system is rendered with the ray marching method, and has a unique spiral “supercell” feature based on logarithmic spiral curve.
Furthermore, it is optimized with different methods such as down sampling, dithering and TAA for acceptable quality and performance in real-time applications.
There is also a SIGGRAPH-style report demonstrating my technical writing skills.


Physics-based Weather System
It is a still under-construction physics-based weather system.
Currently, I have implemented the volumetric sky cloud, physics-based atmosphere, and a precisely calculated circadian rhythm of the Sun and Moon base on GMST (Greenwich Mean Sidereal Time) and given geographical coordinates, so the player can experience the lighting condition of their physical location at that exact time, with precision to minutes.
Currently, I have implemented the volumetric sky cloud, physics-based atmosphere, and a precisely calculated circadian rhythm of the Sun and Moon base on GMST (Greenwich Mean Sidereal Time) and given geographical coordinates, so the player can experience the lighting condition of their physical location at that exact time, with precision to minutes.


Volumetric Light
Demonstrating both the ray marching method and the radial blur method.
Different methods such as down sampling and dithering are adopted performance while maintaining high quality.
Different methods such as down sampling and dithering are adopted performance while maintaining high quality.


Voxel Engine
We refered to the technical discussion of Teardown, a completely voxel based game released on PC and PS5, and designed a pipeline architecture that organizes all object-space aligned voxels into a single world-space aligned Texture3D using compute shaders, then perform path tracing on it as a sparse voxel octree.
I implemented the “A Fast Voxel Traversal Algorithm” paper for dynamic voxel rendering structured in sparse voxel octree, and worked on converting object-space voxels to one world-space aligned Texture3D cache using Compute Shader.
I implemented the “A Fast Voxel Traversal Algorithm” paper for dynamic voxel rendering structured in sparse voxel octree, and worked on converting object-space voxels to one world-space aligned Texture3D cache using Compute Shader.


Parallel Sort-middle Tiled Renderer
Constructed a parallel sort-middle rasterization pipeline architecture, implemented tile-based rendering with a lockless binning and processing strategy, achieved a 1.3-1.5x performance boost over non-tiled solution (The detailed performance matrix is listed below).


Vulkan Graphics Engine
Initialed a Vulkan-based graphics engine from scratch with custom scene graph loading, rendering and animation.
Implemented rendering features such as PBR, IBL, PCSS soft shadows, SSAO, SSDO; Experimented with Ray Tracing.
Implemented rendering features such as PBR, IBL, PCSS soft shadows, SSAO, SSDO; Experimented with Ray Tracing.


Water Drop Post Processing
Screen space water drop post processing with high customizability for artists.
This post-processing shader uses a mix of static and animated drops, smoothstep transitions, and procedural noise to create a realistic raindrop effect on the camera. The effect dynamically changes based on the wetness amount, time, and speed, making it feel organic and natural
This post-processing shader uses a mix of static and animated drops, smoothstep transitions, and procedural noise to create a realistic raindrop effect on the camera. The effect dynamically changes based on the wetness amount, time, and speed, making it feel organic and natural


Post Processing Outline
Post processing outline based on Sobel depth.
The outline width, range, color, and non-outlined area color are all fully customizable.
The outline width, range, color, and non-outlined area color are all fully customizable.


Glitch Post Processing
A full screen glitch post processing effect used in one of my indie games.


Terrain Rain Generation Tool
Wrote a tool to bake the water height map on terrain using a top-down camera.
Then, I calculated the water capacity and the current water height to demostrate the rain cumulated on the terrain.
Then, I calculated the water capacity and the current water height to demostrate the rain cumulated on the terrain.


Fur Shader
This is a fur shader that "Squeeze out" the vertex.
It can produce intriguing effects like animal fur, cloth and velvet, etc.
It can produce intriguing effects like animal fur, cloth and velvet, etc.


Grass Shader & Paint Tool
This is a unity grass shader, in which I applied the knowledge of geometry shader.
I tried to simulate the blade's shape, facing, curve, and movement.
Besides, I wrote a tool for painting the grass on other objects.
I tried to simulate the blade's shape, facing, curve, and movement.
Besides, I wrote a tool for painting the grass on other objects.
Rendering Features and Systems
Environment/VFX/PostProcess
bottom of page