Portfolio

To learn more about a project, follow the link to its git repository
Pinned Rendering Simulation Games Procedural CUDA Miscellaneous

Meteoros REPO

Vulkan, C++, GLSL

  A real-time cloudscape renderer in Vulkan.

  It is based on the cloud system 'NUBIS' that was implemented for the Decima Engine by Guerrilla Games for the game 'Horizon Zero Dawn'

  Responsibilities: Vulkan framework; 2D and 3D texture support; ray marching of cloud shapes; reprojection and cheap sampling optimizations; post-processing (god rays, tone mapping, temporal anti-aliasing);

Clustered Deferred &
Forward Plus Shading
REPO

Javascript, WebGL, GLSL

  Can simulate over 2100 lights at 60 FPS.

  A WebGL implementation of Clustered Deferred and Clustered Forward Shading Techniques.

Monte Carlo Path Tracer REPO

C++, OpenGL

  Monte Carlo Path tracing is a rendering technique that aims to represent global illumination as accurately as possible with respect to reality. When combined with physically accurate models of surfaces, accurate models light sources, and optically-correct cameras, path tracing can produce still images that are indistinguishable from photographs.

  Implemented multiple importance sampling; volumetric rendering; BVH acceleration; multi-threading; micro-facet materials; fresnel reflectance model; realistic modelling of light sources; thin lens camera models;

CUDA Path Tracer REPO

C++, CUDA

  A simple CUDA Monte Carlo path tracer that runs at about 19 ms/sample.

  Interesting things that were implemented include:   Subsuface Scattering, Stream Compaction, Material Sorting, First Bounce Intersection Caching

CUDA Rasterizer REPO

C++, CUDA

  GPU Rasterizer written in CUDA that runs at >60 FPS

  Implements tile based rasterization and scanline rasterization along with standard features like depth testing via mutex locks; texture mapping; backface culling; point, line, and triangle rasterization;

Shaders REPO

Javascript, WebGL

  A variety of Shaders and Post-Processing Effects