The goal of this project is to provide myself with a platform to learn and experiment with different graphics techniques. When I started Rose, my knowledge of computer graphics was limited. I still have plently to learn, but have been able to grow immensely throughout the development of this project.
Rose makes use of Git Submodules, so ensure that you perform a recursive clone...
git clone --recurse-submodules <repo-URL>
To build the project, use CMake...
mkdir build
cd build
cmake <path to top level CMakeLists.txt>
cmake --build .
The graphics API used can be selected through rose/CMakeLists.txt. However, support is limited to OpenGL at this time.
Some features that Rose supports...
- Phong illumination
- Skyboxes
- Cascaded shadow mapping
- Normal & parallax mapping
- Clustered deferred rendering
- Bloom
- HDR
Some future features and improvements to be made...
- Linux support (there is very little right now that isn't compatible with Linux, just a few small changes need to be made)
- Support for additional graphics APIs
- Improved bloom algorithm
- PBR
- Ambient Occlusion
- And plenty of improvements to existing systems...
Contributions are welcome. Feel free to fork the repository and submit a pull request.
Some of the resources used that helped me develop Rose. I'd like to give a huge thanks to the authors of these resources...