Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 months ago
JSON representation
Path tracing, done three ways
- Host: GitHub
- URL: https://github.com/mattgodbolt/pt-three-ways
- Owner: mattgodbolt
- License: mit
- Created: 2019-04-30T15:38:31.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-05-18T04:12:08.000Z (over 3 years ago)
- Last Synced: 2024-05-01T20:17:22.406Z (8 months ago)
- Topics: cpp, cpp17, graphics, path-tracing, style
- Language: C++
- Size: 441 KB
- Stars: 189
- Watchers: 17
- Forks: 20
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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