top of page

Pyra Engine

Screenshot 2026-02-12 003822.png

Introduction

A from-scratch C++ game engine featuring DirectX 11 rendering and 11 modular systems, validated through multiple game demos.

Duration:         
Role:           

2024.9 - now
Sole Developer

Key Features

  • Render System

    • DirectX 11 Renderer (Shader-based Pipeline)

    • PBR & Blinn-Phong Material System

    • Shadow Mapping

    • Compute Shader Support​​

    • Instanced Rendering

    • Bitmap Font

    • Sprite Sheet and Sprite Animation

    • Debug Render System

  • Asset Loading & Resource Management

    • Images (stb_image)

    • XML (TinyXML2)

    • OBJ Loader with Tangent/Bitangent calculation

    • Texture Atlas

    • Resource Manager with caching

  • Multi-threading System

    • Job System with Worker Threads

  • Network System using Winsock2

  • Hierarchical Scalable Clock System with pause/timescale support​

​​​​

  • Input System

    • Keyboard, Mouse, Xbox Controller (up to 4)

    • Priority-based Input Consumer pattern

  • Audio System using FMOD (3D Audio support)

  • Event System with command registration

  • Dev Console with runtime commands

  • Dear ImGui integration

  • Game UI System

    • Widget hierarchy (Panel, Button, UIImage, UIText)

    • Stack-based Panel management

  • Spatial Optimization

    • BVH Tree 2D

    • Quad Tree

  • Math Library

    • EulerAngles, Matrix, Quaternion

    • Geometric Primitives (AABB, OBB, Plane, Capsule, ConvexHull)

    • Spline 2D/3D (Cubic Bezier, Hermite)

    • Raycast 2D/3D (vs Disc, AABB, OBB, Sphere, Cylinder, Plane)

    • Easing Functions

Math and Physics Visual Tests

2D Raycast and Overlap Tests

3D Raycast Tests

2D Physics Test

Spline and Easing Fuctions

Convex Poly and Convex Hull

Spatial and Objects Partitions (BVH and Quad Tree)

Games / Tools Developed using my C++ Engine

  • Chunk-based Voxel World: 32×32×128 block chunks with dynamic loading/unloading

  • Terrain Generation: Biome-driven generation using continentalness, erosion, peaks/valleys, temperature, and humidity parameters with procedural tree placement

  • Multithreaded Chunk Management: Asynchronous chunk generation via Job System with separate queues for generation, loading, and saving

  • Water Rendering: SSR with refraction, depth-based fog effects, and multi-layer normal-mapped wave animations

  • Procedural Sky Rendering: Gradient-based atmospheric shader with dynamic sun positioning and view-angle dependent color blending

  • Dynamic Lighting System: Indoor and outdoor light propagation with smooth brightness transitions

  • Entity Physics: Swept AABB collision detection using raycast, supporting walking/flying/noclip modes

View More
  • GitHub
  • Linkedin
bottom of page