Implemented using DirectX 12 Compute shaders. Inspired by Peter Shirley's Ray Tracing in One Weekend.
-Lambertian
-Metallic
-Dielectric
-Diffuse Light
-Procedural Spheres
-Procedural Rectangles
-Procedural Triangles
Currently just a basic camera that is fixed right near the world origin, with modifiable field-of-view, where the view port is defined as:
-1.0f <= y <= +1.0f and, (-1.0f * AspectRatio) <= x <= (+1.0f * AspectRatio)
Render-Pass 1: Generates an Intersection Map which is a collection of recorded intersections/misses between the Camera Paths and the Scene Geometry.
Render-Pass 2: Consumes the Intersection Map to generate an Accumulation Frame, which is the total summed Samples for each Pixel.
Render-Pass 3: Consumes the Accumulation Frame to produce the Final Frame, which is then copied into Host RAM for later presentation.