The PB Engine is a custom-built, high-performance game engine designed for modern voxel-based projects, physically based rendering (PBR), and real-time graphics applications. Developed with C++, Vulkan, and Lua scripting, it provides a robust foundation for rendering, physics, animation, and gameplay systems.
Rendering & Graphics
Vulkan-based renderer optimized for high-performance real-time rendering.
Physically Based Rendering (PBR) pipeline with support for HDR lighting, and tone mapping.
Custom shader system, allowing for GLSL-based materials and easy integration of advanced shading techniques.
Efficient texture management, including mipmap generation, HDR textures, and Vulkan image transitions.
Skeletal animation support, with optimized bone influence limits for efficient vertex skinning.
Physics & Animation
Skeletal animation system, designed for smooth interpolation and real-time playback.
Collision detection and response, integrated with the voxel-based world structure.
Custom math libraries for vector, matrix, and quaternion / rotor operations, designed for game-specific transformations.
Scripting & Modularity
Lua scripting integration via the Sol library, allowing for flexible game logic and modding support.
Custom Lua bindings for engine components, including actors, input, and game logic control.
User-defined helper functions for extending engine behavior without recompiling.
Component-based actor system, allowing for modular gameplay object creation.
Tools & Development
Model Importer using ASSIMP.
FreeType-based font rendering, capable of generating glyphs as meshes for 3D UI elements.
Optimization & Performance
Multi-threaded job system, for easy parallelization of expensive operations.
Memory-efficient texture and buffer management, leveraging Vulkan Memory Allocator (VMA).
Asynchronous resource loading, allowing for background asset streaming without frame drops.