Implements a ray tracer to render a scene with highly specular reflections
c++ 11
opengl 3.2
freeglut
glew
Use make command to compile. make clean & make clean_object to clean.
$ ./raycast [scene_option] [max_step] [additional option]
- scene_option(-d):
- -d : default scene with rendering sphere
- max_step(a number):
- use a number to define the maximum recursive depth of ray tracing program
- additional option:
- +s : add shadow effect
- +l : add reflection effect
- +r : add refraction effect
- +c : add chessboard object to the scene
- +f : add diffuse reflection effect
- +p : add anti-aliasing effect
Demo with reflection and shadow:
Demo with reflection, shadow and chessboard: