● Engine Core
○ Architect a real-time game engine from scratch using DirectX, HLSL, and C++.
○ Programmed 20+ DirectX shaders (Vertex, Pixel & Compute) for complex rendering pipelines.
○ Robust C++ framework encapsulating high-level concepts (ex. Meshes, Textures, Cameras, Lights).
○ Engine capable of object transformations, mesh texturing, multiple cameras, skinning and animation, lighting, and 2D sprites.
○ Conducted debugging and performance profiling using Visual Studio Graphics Debugger.
● Animation & Skinning
○ Developed skeletal animation and mesh skinning system through matrix transformations.
○ Efficient matrix calculations, distributed to 1000+ GPU threads using DirectX Compute Shaders.
● 2D Sprite System:
○ Implemented a system to render 2D sprites using an orthographic camera and a plane mesh.
○ Used the system and the Flyweight design pattern to render dynamic 2D fonts.
● Mesh Converter
○ Programmed an offline tool to convert mesh data {Geometry, Skinning, Animation, Texture, Fonts} from .glb files into engine- compatible format.
○ Serialized the above mesh information into run-time files using Google Protocol Buffers.
● Math Library
○ Designed a library for complex math operations on vector, matrix, and quaternion data types.
○ Optimized library performance by a factor of ~4x using SIMD intrinsics.
● Object Library
○ Developed a library with custom tree-like data structure to handle object hierarchies in memory.
○ Created an iterator to traverse the tree (DFS forward & reverse) in a linked list fashion.
○ Used the library to implement scene graphs and bone hierarchies in the engine.