###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
- 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)
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
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).