Skip to content
This repository has been archived by the owner on Oct 3, 2022. It is now read-only.

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathonracz authored Apr 11, 2018
1 parent 4eff128 commit e17914a
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

**jtracer** is a C++ path tracer capable of running either on the CPU (multithreaded or non-multithreaded) or as an Apple Metal compute kernel.

The path tracer was originally based on the implementation guide given by Peter Shirley's excellent ebook [Ray Tracing In One Weekend](http://a.co/4ShfDEg). The algorithms were modified to make the raytracer non-allocating (i.e. non stack based) by using color/light accumulators with a single ray object to trace through the scene.
The path tracer was originally based on the implementation guide given by Peter Shirley's excellent ebook [Ray Tracing In One Weekend](http://a.co/4ShfDEg). The algorithms were modified to make the them non-allocating (i.e. non stack based) by using color/light accumulators with a single ray object to trace through the scene.

The implementation found in [`jtracer/Trace`](jtracer/Trace) is designed to be extremely portable. It is a header-only implementation of a general GPU-compute compatible raytracer from a per-pixel standpoint given a set of scene parameters (in this case, a bunch of spheres). In theory, it should work in an OpenCL C++ or CUDA environment with little modification - likely just some system-specific definitions in [`JTTypes.h`](jtracer/Trace/JTTypes.h).
The implementation found in [`jtracer/Trace`](jtracer/Trace) is designed to be extremely portable. It is a header-only implementation of a general GPU-compute compatible tracer from a per-pixel standpoint given a set of scene parameters (in this case, a bunch of spheres). In theory, it should work in an OpenCL C++ or CUDA environment with little modification - likely just some system-specific definitions in [`JTTypes.h`](jtracer/Trace/JTTypes.h).

The frontend is written in Objective-C++. It is tested with Xcode 9.3 under macOS 10.13.4. The UI is extremely simple - all options are hardcoded within the app. On startup the main window will display two views: the top is a GPU-compute render via Metal, and the bottom is a multicore CPU render scheduled by `libdispatch` (Grand Central Dispatch). Below is a screenshot:

Expand Down

0 comments on commit e17914a

Please sign in to comment.