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);

Hand of God REPO

Unreal Engine 4

  Hand of God is an asymmetric co-op game, where one player is the ‘Runner’ and uses a traditional game controller while the other is a ‘God’ and uses the HTC Vive to reach into the world for an immersive feel.

  The goal is for the 'Runner' to move and stay ahead of the Darkness that swirls around along their dangerous path and for the 'God' to help the runner through this arduous journey. If the Runner cannot move forward fast enough, the darkness envelops them for a grim end.

Mesh Editor

C++, OpenGL

  A HalfEdge Mesh Data Structure; Catmull Clark Subdivision; Skeletons and Skinning;

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;

Stylized Jellyfish
Live!
Live!

GLSL

  No textures, No assets, just pure math!

Vulkan Grass Tesselation REPO

Vulkan, C++, GLSL

  Can simulate and render over 1 Million blades of grass on a Notebook GTX 1070.

  The project follows Responsive Real-Time Grass Rendering for General 3D Scenes very closely.

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;

Jello Sim REPO

C++, Houdini

  A Jello Simulator based on the Finite Element Method using a Fixed Corotated Elastic Model

  Implemented collisions and fixed point constraints in a data driven architecture

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.

Interesting Level Generator REPO

Javascript, WebGL

  A procedural multi-layer dungeon generator that generates levels based on a dynamically generated voronoi like graph after it has been heavily modified by various filters.

  Realistic fog, crumbling pathways, and terrain are added over the basic level layout to give it a unique mysterious foreign world aesthetic.