nrays is an attempt to make a 3 and 4 dimensional ray tracer in Rust. It uses the ncollide3d library to cast rays.
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:
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
make
cd bin
wget https://www.dropbox.com/s/hts81ejea7quxes/media.tar.bz2
tar xf media.tar.bz2
../target/release/loader3d crytek_sponza.scene