MiniRT by lajudy and swilmer

###About the Task TODO: The goal of the program is to generate images using the Raytracing protocol. Those computer-generated images will each represent a scene, as seen from a specific angle and position, defined by simple geometric objects, and each with its own lighting system. subject.pdf

Features

  • Multilight
  • Bumpmap
  • Textures
  • Checkerboard texture
  • Multithread rendering
  • Multi-light
  • Six different projection (quternions included)
  • Processing of heavy and super-heavy maps
  • Multu-scene mode
  • Old map handling, addition parser features and map-comments
  • etc. (see control keys)

Control

A W D S — control camera position
Q E — control camera height position
— control camera direction
F — reset camera
R — change projection type
[ ] — change FOV
J I L K — control light position
U O — control light position
1 2 3 4 5 — set minimum render quality
6 7 8 9 0 — set maximum render quality
Tab — switch to the next scene (with ./miniRT /maps/*)
Z — turn on/off shadows
X — turn on/off multilight mode
Space — choose a light in one-light-mode
C — turn on/off lights
V — turn on/off Specular Reflection (Phong model)
B — turn on/off Checkerboard textures (spheres only)
N — turn on/off Bumpmap textures (planes only)
left mouse click — control camera direction
right mouse click — choose shape to rotate around
Enter — rotation mode

How to launch

Clone project to a directory then do

$>make to build miniRT binary ./miniRT maps/map_name.rt
Program works with special .rt files, which are descripting scene to render with special notation.

Ambient lightning: A   0.2  255,255,255
Camera: C   -50.0,0,20   0,0,1   70
Light: L   -40.0,50.0,0.0   0.6   10,0,255
Sphere: sp   0.0,0.0,20.6   12.6   10,0,255
Plane: pl   0.0,0.0,-10.0   0.0,1.0,0.0   0,0,225
Cylinder: cy   50.0,0.0,20.6   0.0,0.0,1.0   14.2 21.42   10,0,255
Cone: cn   50.0,0.0,20.6   0.0,0.0,1.0   14.2 21.42   10,0,255
These parameters describe shape's position, direction and color (check the subject for more specific information).

Some visualization

AUTHORS