A basic 3D ray tracer in Rust.
Rust Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



nrays is an attempt to make a 3 and 4 dimensional ray tracer in Rust. It uses the ncollide3d library to cast rays.

3d ray tracing

The current implementation handles phong lighting and reflexions. Nothing fancy here. It supports the same geometries as ncollide3d, that is, plane, box, sphere, cylinder, cone, and Minkowski sum of any supported convex objects. Triangle meshes are not yet supported. Here is an example of 3d ray casting on the Minkowski sum of a cylinder and a box:

3d ray tracing

Several examples are given on the bin folder. Those are .scene files that can be read by the loader3d executable produced by the command make. Those scenes require some assets originally available here. The whole set of asset is packaged here and has to be extracted on the bin folder. Here is an example of commands you might type the first time:

git clone git://github.com/sebcrozet/nrays.git
cd nrays
cd bin
wget https://www.dropbox.com/s/hts81ejea7quxes/media.tar.bz2
tar xf media.tar.bz2
../target/release/loader3d crytek_sponza.scene