About this project

Polyray Game Engine is a from-scratch game engine described as highly modular and flexible, intended to support a wide range of projects and applications. It targets both Windows and Linux. Architecture and core systems: - Data-oriented design: the project states it avoids OOP, inheritance and virtuals, with everything treated as data. - Custom ECS with support for custom component storage implementations. - 2D and 3D scene systems. - 2D and 3D Verlet-integrated physics engine that supports custom collider types. - Compile-time scripting system. - A GLSL-like math library (prvl) that aims to stay as close to real GLSL as possible. Rendering: - Default materials are PBR. - Shadow mapping, SSAO, bloom, and an "Improved Alpha 2 Cover" feature. - A rendering pipeline is listed as work in progress. Animation and assets: - Animation system that can animate any member of a component. - Skinning system. - GLTF loader that constructs a scene complete with meshes, animations, skins, lights and cameras. Networking and tooling: - Multiplayer with a custom packet protocol, including a client manager and server hosting. - A high-resolution profiler using rdtsc with roughly 20 cycles of overhead. Status: the README marks the animation system, GLTF loader, skinning system, rendering pipeline, multiplayer system and additional rendering features as work in progress. The showcase images for 2D probe-based RTGI, heightmap terrain and voxel raytracing are explicitly noted as not yet available, with plans to turn them into modules in the near future. A showcase video is linked from the README.