Note
Showcase Repository: This repository is a culmination of various components developed across my private repositories. While this public version highlights the core architecture, the development history and my journey with the Vulkan API extend much further back.
Ruya is a Vulkan-based game engine developed for personal projects and as a foundation for future research in computer graphics. Ruya Engine is under active development. Video demo: https://youtu.be/o4NzIV75shk?si=0uVWozIwvqzC5qWm
- PBR Rasterizer: Physically Based Rendering pipeline for realistic material interaction.
- Ray Traced Shadows: Hardware-accelerated Ray Traced directional light shadows.
- Ray Traced Diffuse Global Illumunation: Hardware-accelerated Ray Traced diffuse GI.
- Multi-Threaded Architecture: Job system based architecture.
- GLTF Integration: Seamless model loading via the
tinygltflibrary. - GameFramework: ENTT based scripting framework for game logic.
- Asset System: Early-stage asset management (Note: Currently in experimental phase).
- Editor: Integrated UI based on ImGUI for real-time scene manipulation.
To run Ruya, your hardware must meet the following specifications:
| Component | Minimum Requirement |
|---|---|
| GPU | NVIDIA RTX Series |
| API | Vulkan 1.3 or higher |
| Platform | Windows (x64) |
Before cloning, ensure you have Git LFS installed on your system, as the repository uses it for large files.
- Clone the Repository:
git clone --recursive https://github.com/AlperenSahinn/ruya_alpha.git
- Run the Setup Script:
Navigate to the
build_systemdirectory and run:
setup_windows.bat
This will generate the Visual Studio 2026 solution.
3. Build:
Open the generated solution in VS2026 and build the project in distribution mode.
Once the build is complete, you can find the executable at the following path:
bin/windows-x86_64/Distribution/ruya_editor/
To test the renderer, you can load the included test scene:
- Open the Asset Browser window and navigate to the scenes folder.
- Double-click medieval_scene to load it.
Disclaimer: The Asset System is in its infancy and may not behave as expected.
