Skip to content
A basic 3D ray tracer in Rust.
Rust Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build/nrays3d
examples
scenes Rename the bin folder to scene. Jun 16, 2018
src Update to the latest ncollide3d 0.16. Jun 16, 2018
.gitignore Update to the latest ncollide3d 0.16. Jun 16, 2018
.travis.yml Add .travis.yml. Jul 9, 2015
Cargo.toml Update to the latest ncollide3d 0.16. Jun 16, 2018
LICENSE Initial commit Oct 2, 2013
Makefile Update to the latest ncollide3d 0.16. Jun 16, 2018
README.md Update to the latest ncollide3d 0.16. Jun 16, 2018

README.md

nrays

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
make
cd bin
wget https://www.dropbox.com/s/hts81ejea7quxes/media.tar.bz2
tar xf media.tar.bz2
../target/release/loader3d crytek_sponza.scene
You can’t perform that action at this time.