A ray tracing system which parses 3D scene described with orientation of geometric primitives and allows the user to explore in real-time the CPU based ray traced scene with ultra high realism.
- CPU based ray tracer built from scratch.
- Users can explore the ray-traced world in real-time using keyboard control.
- Parallelises the task of tracing ray by using all of the available CPU cores.
- Provides a framework that can be expanded with new geometric primitives which enables it to be able to render more complex scenes.
- Anti-aliasing level can be controlled.
The project requires:
- Java SE 7
The entry point is com.raytracing.main.Main
.
The camera controls are as following-
w
: forwarda
: lefts
: backd
: rightleft arrow
/right arrow
: yawup arrow
/down arrow
: pitch,
/.
: roll[
/]
: fly0
: reset camera position and orientation
Other controls-
g
: toggle fast rendering on or off. In fast rendering mode, only ray tracking is executed(no reflection or refraction is allowed)h
: enable anti-aliasingj
: disable anti-aliasing