Game Engine Development & Optimization

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.