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: 3 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 (about 6 years ago)
- Default Branch: main
- Last Pushed: 2021-05-18T04:12:08.000Z (about 4 years ago)
- Last Synced: 2025-03-19T02:11:26.498Z (4 months ago)
- Topics: cpp, cpp17, graphics, path-tracing, style
- Language: C++
- Size: 441 KB
- Stars: 192
- Watchers: 16
- 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