Raito Rendering engine
Raito RenderView UI with a sphere shaded with normals
- The GUI is created with egui and eframe
- The documentation runs on mkdocs with several plugins required :
pip install mkdocs-material
(theme)pip install mkdocs-glightbox
(to zoom on images)
Here are also additional dependencies :
log
: logging libraryenv_logger
: used to setup the log levelclap
: to parse command line argummentsrand
&rand_chacha
: random numbersquick-xml
: Read XML files
- Install rust
- You might need to install specific packages for eframe :
- Linux :
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev
- Fedora :
sudo dnf install clang clang-devel clang-tools-extra libxkbcommon-devel pkg-config openssl-devel libxcb-devel gtk3-devel atk fontconfig-devel
- Build and run :
cargo run --release
- To build and run doc launch :
python -m mkdocs serve
. That will serve the site on localhost
Also you can use the crun utility script :
crun -b
: build and executescrun
: find the exectuable and launch it directlycrun $args
: also works if you want to pass arguments to the executable
Usage: raito [OPTIONS]
Options:
-l, --log-level <LOG_LEVEL> Verbosity level [default: info] [possible values: debug, info, warning, error]
-t, --tests Execute tests
-h, --help Print help
-V, --version Print version
- Finish first version of Raito :
- Add real progressive rendering
- Implement polymesh nodes for complete set of geometry
- Implement BVH
- Start second iteration :
- Focus on improving the UI. The end goal is to make an easy-to-use tool for shader development with best performances possible
- Rework on the code base with what I learned in Rust
- Provide node graph to build scenes
- ...
- Third iteration will focus on shader development
- Fourth iteration will focus on developping new iterators and optimizations, like photon mapping, VCM, etc