Skip to content

A hobby path-tracer, written using DirectX12 compute shaders.

Notifications You must be signed in to change notification settings

RealTimeChris/Unnamed-Renderer-Dx12

Repository files navigation

Unnamed Renderer: 3-Stage Compute Path-Tracer

Implemented using DirectX 12 Compute shaders. Inspired by Peter Shirley's Ray Tracing in One Weekend.

Materials

-Lambertian

-Metallic

-Dielectric

-Diffuse Light

Primitives

-Procedural Spheres

-Procedural Rectangles

-Procedural Triangles

Camera

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)

Rendering Method

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.

3000SPP, 30B, 720p

3000SPP, 30B, 720p

3000SPP, 30B, 720p

3000SPP, 30B, 720p

3000SPP, 30B, 720p

720p, 1500SPP, 30B Caustics 01

720p, 1000SPP, 20B

720p, 200SPP, 7 Bounces

About

A hobby path-tracer, written using DirectX12 compute shaders.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published