Hyperion is a C library inspired by raylib, but focused on advanced 3D rendering. If you enjoy raylib’s simplicity but are looking for a modern all-in-one 3D framework, Hyperion is for you.
⚠️ Hyperion is in active development and not yet stable.
- Shading: full PBR (Burley/Schlick GGX) with roughness, metalness, occlusion, normal and emission maps.
- Materials texture scale/offset, alpha cutoff, cull and blend modes.
- Lighting: forward clustered lighting and EVSM shadows (with VSM fallback for OpenGL ES 3.2)
- Environment: cubemaps for skyboxes and basic reflection probes
- Post-processing: color adjustment, debanding, tonemapping (Reinhard, Filmic, ACES, AgX)
- Meshes: cube, sphere, cylinder, cone, capsule
- Import: Assimp for 3D model and material loading
- Animations: rigged models, custom pose arrays for blending
- Primitives: lines, triangles, quads, rectangles, circles, arcs, rings, rounded rectangles, etc.
- Textures: can be applied to all shapes
- Custom shapes: support for primitive lists, strips, fans, loops
- Text rendering: bitmap and SDF
- Playback: clips and streams, async decoding
- Multiple instances: same clip can play simultaneously
- Helpers: wrapping, remap, angles, easings, common conversions/interpolations
- Vectors: 2D, 3D, 4D with add, subtract, scalar multiply, dot/cross product, lerp, etc.
- Quaternions: conversion to/from matrices and vectors, slerp, helpers, etc.
- Matrices: 3x3 and 4x4 for transformations, rotations, scaling, projections
- Color: manipulation and conversion (RGB/HSV), interpolation
- Transforms: 3D struct with translation, rotation, scale
Here’s a checklist of the major features that are still missing:
- Instanced rendering
- Unshaded rendering mode
- Rendering to custom render targets
- Procedural skybox cubemap generation
- Dynamic reflection probes
- Post-processing effects: fog, bloom, SSAO, SSR
- Custom post-processing shaders
- Custom material shaders
- More flexible 2D rendering
- Audio spatialization
First, to run Hyperion you’ll need a GPU with OpenGL 4.5 or OpenGL ES 3.2 support.
To build the project, make sure you have:
- A C23/C++23 compiler
- CMake 3.20+
- Python 3.6+
Hyperion depends on: SDL3, PhysFS, Freetype and Assimp
You can either install these manually, or clone Hyperion with submodules:
git clone --recurse-submodules https://github.com/Bigfoot71/Hyperion.gitIf you already cloned without submodules:
git submodule update --init --recursiveWhen configuring with CMake, enable vendored dependencies for any library not installed on your system:
cmake -DHP_SDL3_VENDORED=ON \
-DHP_PHYSFS_VENDORED=ON \
-DHP_FREETYPE_VENDORED=ON \
-DHP_ASSIMP_VENDORED=ON \
-B build
cmake --build buildYou can also generate the Doxygen documentation while building the project by enabling it in CMake:
cmake -DHP_BUILD_DOCS=ON -B build
cmake --build build --target docsHyperion is actively being developed. Pull requests, feedback, and bug reports are very welcome!
Thanks to the amazing open source projects that power Hyperion:
Licensed under the Zlib License - see LICENSE for details.


