
Personal Projects
C++ | DirectX 12 | DXR | HLSL
A path tracing rendering pipeline using DX12 and DXR. Implemented PBR and glass materials to achieve photorealistic rendering.
C++ | DirectX 11 | HLSL
A renderer with Cook-Torrance BRDF-based PBR, Split-Sum IBL, toon shading, and Oren-Nayar & Minnaert effects. Screen space sphere selection and normal offset outline
C++ | DirectX 11 | Procedural Generation | HSR
A minecaft-like game with procedural map generation based on Perlin noise, voxel-based light propagation for indoor and outdoor and handled real-time map loading and destruction with multithreading
Unreal Engine 5 | SDF | Tone mapping
Achieved cartoon rendering using cell shading, SDF facial shading, normal offset outline, edge detection outlines with stencil buffer, tone mapping and material capture for hair highlights.
Unreal Engine 5.4 | Vertex Offset | Render Target
Using render target to record the position of the player and adding a attenuation to vertex offset of grass to make it looks more realistic, and also to keep track of the foot prints on the snow.
Unreal Engine 5 | Substance Designer | Material
Created oil painting texture mask in Substance Designer, implemented stylized diffuse and highlights, simulated ambient occlusion using SDF, and completed shadow masking with SD materials
C++ | BVH | Raycast
A convex editor with BVH AABB and bouding discs to acclerate raycast intersection.
Substance Painter | Python | Exporter
A customed substance painter exporter, which can automatically read information based on asset type and fix material size
C++ | DirecX11 | NetSystem | Hex Grid
A turn based game in hex grid, with network communication via TCP. Tanks find it's path by using DFS and smooth its movment path by uisng Catmull-Rom curves.
Houdini | Vex | Procedural Modeling | ID Map
I did some procedural modeling of door and column. I also created ID Map and import it into Unreal to create a terrain with different textures.
C++ | Python | Exporter
A Doom-like first-person shooter with multiplayer split-screen. All weapons are xml data driven. Ray cast with scenes and colliders. Implemented billboard sprite rendering, directional light, point lights, and spotlights.
C++ | HLSL | 2D Collision
Star Ship is a 2D space shooter game with 2D collision, homing missle using bezier curve, 2D particle, physically-based movement.
C++ | HLSL | 2D Raycast | Heat Map
A 2D Tank shooter Game with 2D collision with AABB, preventative collision for bullet, simple path finding AI, map generation with heat map, 2D fast grid raycast.