«
Yueming Hu
Software Development
Real-Time Ray-Traced Caustics
The goal of my thesis was to render realistic caustic effects on static glass and water with real-time raytracing . I conducted my research on graphics API and chose DirectX 12 as the rendering framework for this project .
For my thesis , I rewrote the renderer of our SD engine , and replaced it with the DirectX 12 API and new design patterns . I implemented several features for my artifact , including a new resource binding framework for deferred rendering , compute shader , object-pool based allocation and thread-safe render context . After the D3D12 renderer was set up successfully , I integrated the DXR framework and implemented the Screen Space Photon Mapping algorithm for caustics generation .
The artifact shows the caustics rendering on static glass and water . For the static glass scene , there are several glass cups and rings placed on a diffuse plane . When moving the light ’ s direction and position , the caustic shape changes dynamically . The water generation in the water scene is based on the Gerstner Formula . To denoise the result , I used a gaussian filter in a compute shader after the rendering pass . The thesis took around eight months from conducting research to implementing all features and optimization . The technique behind this project is highly required by the game industry , especially the real-time raytracing architecture . During the project , I learned many rendering techniques and acquired many insights in modern graphics API .
80 SOFTWARE DEVELOPMENT