Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mattgodbolt/pt-three-ways

Path tracing, done three ways
https://github.com/mattgodbolt/pt-three-ways

cpp cpp17 graphics path-tracing style

Last synced: 10 days ago
JSON representation

Path tracing, done three ways

Awesome Lists containing this project

README

        

# Path tracing, done three ways

Some code sketchings for an idea I have to do a presentation on the effects of different
coding styles on design and performance. It's a trivial path tracer (an extended homage to smallpt.cpp)
implemented three different ways. It's not meant to be complete, or correct. Or even performant in a traditional sense
(at the time of writing it has no bounding volume hierarchy acceleration).

"Ways" of implementing the code:

1. Traditional OO with interfaces and virtual calls
2. Functional style using std::variant, optional, ranges
3. Data-oriented design