/rust-render-engine

RRE (Rust Render Engine)

Primary LanguageRust

Build Status LoC

Pour compiler un fichier .md en pdf :

pandoc intro.md -f markdown -t latex -o intro.pdf --toc

Français (English speakers see below)

Compilation & Utilisation

Compilation du projet

Il faut d'abord avoir rustup d'installé.

git clone https://github.com/gbip/rust-render-engine
rustup override set nightly
cargo build --release

Pour utiliser le logiciel

Pour générer un fichier d'exemple de scène template.jsonil faut lancer : render_engine --generate ou render_engine -g

Pour charger une scène et la rendre, il faut lancer : render_engine --read <chemin_scene> --write <chemin_fichier>.png

Features implémentées

  • Support de la géomètrie à travers des fichiers .obj
  • Benchmarking du code
  • Rendu dans une résolution arbitraire
  • Choix de la méthode d'échantillonnage des rayons
  • Choix de la méthode de filtrage des échantillons récoltés
  • Le support des textures
  • Le support des lumières
  • Materiaux basés sur la physique

Performances

Le moteur de rendu n'est pour l'instant pas très performant... Benchmark à venir.

English

Compiling & Using

Compiling the project

First, you need to make sure rustup is installed.

git clone https://github.com/gbip/rust-render-engine
rustup override set nightly
cargo build --release

How to use

In order to generate an example file for a scene called template.jsonyou can run : render_engine --generate or render_engine -g

In order to load a scene from a file, and save it to a .png, you can run : render_engine --read <path_scene> --write <path_file>.png

Implemented features

  • Arbitrary geometry support through .obj files (wavefront specification)
  • Benchmarks for the code
  • Rendering in an arbitrary resolution
  • Choose the sampler
  • Choose the filter
  • Support of textures
  • Support of lights
  • Physic based materials

Performances

The render engine is currently quite slow... Benchmarking incoming.