Game engine features, from scratch
Frustum culling, physics, animation blending, wind deformation and a particle system, added to a skeleton C++ engine at USC.
Prime Engine is a skeleton game engine written by Professor Artjoms Kovalovs for CSCI 522 Game Engine Development at USC. In fall 2021 I implemented these features in it from scratch:
- Frustum culling against axis-aligned bounding boxes.
- Physics: collision detection and gravity.
- Animation blending for skinned meshes: full-body, partial-body and additive.
- Mesh deformation: a vertex shader bends meshes under three wind sources, attached to two soldiers and the active camera.
- A particle system. Particles are textured quads backed by buffers filled from user parameters; when a particle dies its slot is recycled for a new one. Count, size, per-axis velocity range, spawner volume, texture, lifetime and path are all adjustable.
Game Engine Architecture, NVIDIA’s GPU Gems and GDC talks helped along the way.
Tools
- C++
- OpenGL
- Lua