A 3D Rendering Engine supporting both rasterization and raytracing.
⚠️ This project is heavily under construction!
- Scene management
- Entity Component system
- Rasterizer Viewport
- Skyboxes with environment light calculation
- Different Light types
- PBR Materials
- SSAO
- Cascading Shadow Map
- Loading and Transforming of Models
- Cross-platform support (Windows, Linux)
- Editor themes
- Editable Keymap
- Debug Console and diagnostics
- Endless orientation grid (it's endless)
- Different Components for complex entities
- Dynamic gizmos for translation, scaling, and rotating
- Graphics API abstraction
- Massively scalable Memory manager
- Fused deferred and forward shading
Switch the mood with one click and automatically calculate the environment lighting based on provided skyboxes.

See the difference when applying effects like ambient occlusion and cascaded shadow mapping.

Submenus providing customizability.

- CMake 3.14 or higher
- C++17 compatible compiler
- Git for cloning the repository
Windows:
# Clone the repository with submodules
git clone https://github.com/yourusername/3DCast_Linux.git --recursive
cd 3DCast_Linux
# Run build script
install.batLinux:
# Clone the repository with submodules
git clone https://github.com/yourusername/3DCast_Linux.git --recursive
cd 3DCast_Linux
# For X11 (default)
./install.sh
# For Wayland
./install.sh --wayland# Clone the repository with submodules
git clone https://github.com/yourusername/3DCast_Linux.git --recursive
cd 3DCast_Linux
# Build project
mkdir build
cd build
cmake ..
cmake --build . --config Release --parallel3DCast_Linux/
├── 3DCast/ # Core engine library
├── 3DCast_Runtime/ # Application entry point
├── GLWrapper/ # OpenGL abstraction layer
├── Dependencies/ # Third-party libraries
├── resources/ # Assets and resources
├── CMakeLists.txt # Main CMake configuration
├── install.bat # Windows build script
└── install.sh # Linux build script
After building, the executable will be located in:
- Windows:
build/bin/Release/3DCast.exe - Linux:
build/bin/Release/3DCast
Asset Files are copied automatically when using the install scripts. Alternatively copy the folder 3DCast/resources and 3DCast_Runtime/imgui.ini into the executables folder.
