3D extension library for Raylib. Adding loads of additional features and capabilities to raylib, including multiple render pipelines, and lighting features, as well as effectively wrapping the functions of raylib into a namespace ( a prefix R3D_* )

#3d #gamedev #raylib #library #rendering #game-engine #game-dev #2d #framework #c #glsl #opengl

Bigfoot71 99f1e3bde6 render opaque part of prepass in deferred 1 ヶ月 前
.github fde94d9a02 (workflow) install mingw-w64-x86_64-python 1 ヶ月 前
assets ba802f6d61 better soft shadow debanding 5 ヶ月 前
cmake 54f0669667 update shader processing 4 ヶ月 前
examples 04aeba4291 (pbr_car example) fix shadow acne 1 ヶ月 前
external cc9941b376 cleanup uthash 1 ヶ月 前
include 6232899482 reduce default ssil radius 1 ヶ月 前
scripts 36538c7c7f update glsl processor 3 ヶ月 前
shaders 8796015ab1 oops - fix prev indirect inject + review convergence 1 ヶ月 前
src 99f1e3bde6 render opaque part of prepass in deferred 1 ヶ月 前
.gitattributes 047917dbb1 Ajouter .gitattributes et .gitignore 1 年間 前
.gitignore 3f737a4302 update gitignore 10 ヶ月 前
.gitmodules 119c002535 re-add assimp submodule 7 ヶ月 前
BINDING.md ea1940912e Update BINDING.md 1 ヶ月 前
CMakeLists.txt 388af5535d à-trous wavelet denoiser (ssao) 1 ヶ月 前
CMakePresets.json 5ba5af3f58 update CMakePresets.json 7 ヶ月 前
Doxyfile.in 9133a09b86 doxygen generation 6 ヶ月 前
LICENSE 14d7e63fe7 add license 1 年間 前
README.md 226b52b24b update readme 1 ヶ月 前
ROADMAP.md 4083dabe60 update roadmap 1 ヶ月 前
logo.png 428f05940e readme 1 年間 前

README.md

R3D - 3D Rendering Library for raylib


R3D is a modern 3D rendering library for raylib that provides advanced lighting, shadows, materials, and post-processing effects without the complexity of building a full engine from scratch.


[!WARNING] It is recommended to use the pre-release tags. While you can use the master branch, unexpected API breaking changes may occur until the first official release is published.


Key Features

  • Hybrid Renderer: Automatic (or manual) deferred/forward rendering
  • Advanced Materials: Complete PBR material system (Burley/SchlickGGX)
  • Dynamic Lighting: Directional, spot, and omni lights with soft shadows
  • Post-Processing: SSAO, SSR, DoF, bloom, fog, tonemapping, and more
  • Model Loading: Assimp integration with animations and mesh generation
  • Performance: Built-in frustum culling, instanced rendering, and more

Installation

git clone --recurse-submodules https://github.com/Bigfoot71/r3d
cd r3d
mkdir build && cd build
cmake ..
cmake --build .

Requirements: raylib 5.5+, Assimp, Python 3.6+, OpenGL 3.3+

Quick Start

#include <r3d/r3d.h>
#include <raymath.h>

int main(void)
{
    InitWindow(800, 600, "R3D Example");
    SetTargetFPS(60);

    R3D_Init(800, 600, 0);

    // Create scene objects
    R3D_Mesh mesh = R3D_GenMeshSphere(1.0f, 16, 32);
    R3D_Material material = R3D_GetDefaultMaterial();

    // Setup lighting
    R3D_Light light = R3D_CreateLight(R3D_LIGHT_DIR);
    R3D_SetLightDirection(light, (Vector3){-1, -1, -1});
    R3D_SetLightActive(light, true);

    // Camera setup
    Camera3D camera = {
        .position = {3, 3, 3},
        .target = {0, 0, 0},
        .up = {0, 1, 0},
        .fovy = 60.0f,
        .projection = CAMERA_PERSPECTIVE
    };

    // Main loop
    while (!WindowShouldClose()) {
        UpdateCamera(&camera, CAMERA_ORBITAL);
        BeginDrawing();
        R3D_Begin(camera);
        R3D_DrawMesh(&mesh, &material, MatrixIdentity());
        R3D_End();
        EndDrawing();
    }

    R3D_UnloadMesh(&mesh);
    R3D_Close();
    CloseWindow();
    return 0;
}

License

Licensed under the Zlib License - see LICENSE for details.

Screenshots