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
|
|
2 gün önce | |
|---|---|---|
| .github | 1 hafta önce | |
| assets | 1 ay önce | |
| cmake | 2 hafta önce | |
| docs | 1 hafta önce | |
| examples | 4 gün önce | |
| external | 2 hafta önce | |
| include | 4 gün önce | |
| scripts | 2 hafta önce | |
| shaders | 2 gün önce | |
| src | 2 gün önce | |
| .gitattributes | 1 yıl önce | |
| .gitignore | 10 ay önce | |
| .gitmodules | 7 ay önce | |
| CMakeLists.txt | 6 gün önce | |
| CMakePresets.json | 7 ay önce | |
| Doxyfile.in | 6 ay önce | |
| LICENSE | 2 hafta önce | |
| README.md | 6 gün önce | |
| ROADMAP.md | 4 gün önce | |
| logo.png | 1 yıl önce |
R3D is an extension library for raylib that expands its 3D capabilities, including rendering, lighting, kinematics, mesh utilities, and related helpers, without turning raylib into a full engine.
[!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.
To build R3D, you must have:
To use R3D, the required specifications are:
GL_ARB_texture_cube_map_array)Here is a list with all the ports available. Feel free to send a PR if you know of any binding/wrapper not in this list.
| Name | R3D Version | Language | License |
|---|---|---|---|
| r3d-odin | 0.8 | Odin | Zlib |
| ray4laz_r3d | 0.8 | FreePascal | MIT |
| r3d-cs | 0.8 | C# | Zlib |
If you don't know how to start and want to try it quickly:
git clone --depth 1 --recurse-submodules https://github.com/Bigfoot71/r3d
cd r3d
mkdir build && cd build
cmake .. -DR3D_RAYLIB_VENDORED=ON -DR3D_ASSIMP_VENDORED=ON
cmake --build .
Or you can use r3dStarter made by Jens Roth.
#include <r3d/r3d.h>
#include <raymath.h>
int main(void)
{
InitWindow(800, 600, "R3D Example");
SetTargetFPS(60);
R3D_Init(800, 600);
// 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, Vector3Zero(), 1.0f);
R3D_End();
EndDrawing();
}
R3D_UnloadMesh(mesh);
R3D_Close();
CloseWindow();
return 0;
}
Licensed under the Zlib License - see LICENSE for details.
![]() |
![]() |
![]() |
![]() |