Physically Based Rendering

PBR

DirectX 11/C++
Personal Project
Graphics Engine

Worked on:

  • Implemented the physically based shading model.
  • Implemented HDR tone mapping and Gamma correction for linear color space
  • Implemented Image Based Lighting(IBL) by pre-computing the cube map data
    • Diffuse Irradiance map using convolution
    • Pre-computed Specular IBL using split-sum approximation

    Continue..

Elemental Rift

Elemental Rift

Unity/C#
Team Members – 4 (+3 External Devs)
3D First-Person Action/Fantasy Game

Worked on:

  • Lead Programmer in a team comprising of 3 programmers, a Level Designer, a 3-D Artist, a 2-D Artist, and a Sound Designer
  • Organized bi-weekly meetings to coordinate development sprints
  • Developed the resource management system, 4 spell mechanics and player environment interactions
  • Implemented the GUI system design
  • Utilized Deferred Rendering, Batching, Occlusion Culling and Level of Detail to reduce average frame time by 50%-75%

Continue..

Deferred Rendering

Deferred Rendering

DirectX 11/C++
Personal Project
Graphics Engine

Worked on:

  • Generated the G-Buffer, which includes Diffuse, Normal, Position, Shadow Mask and Depth Buffers
  • Implemented the lighting pass for Directional Light and Point Light
  • Also Implemented Shadows and Instancing

Continue..

Studs

Studs

DirectX 11 & C++
Team Members – 4
Graphics Engine

Worked on:

  • Wrote the renderer class, reducing the amount code required to render entities
  • Implemented Visual Effects including:
    • Fading effect
    • Bloom
    • Dynamic Skybox

Continue..

Boundless Force

Boundless Force

Unity/C#
Team Members – 5
2-D Co-op Side Scrolling Run’n’Gun Game

Worked on:

  • Developed a 2-D Player controller using ray casting
  • Implemented AI for 3 Minions and 1 Boss Enemy
  • Single-handedly executed 15 sprite animations

Continue..

Tessellation

Deferred Rendering

DirectX 11/C++
Personal Projects

Worked on:

  • Used the Hull Shader to Generate Output Control Points
  • Implemented the Domain Shader to sample the height map, and take inputs from the Tessellator stage and the Hull Shader to generate new vertices

Continue..