• Stars
    star
    181
  • Rank 212,110 (Top 5 %)
  • Language
    C++
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Path tracing, done three ways

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

More Repositories

1

seasocks

Simple, small, C++ embeddable webserver with WebSockets support
C++
735
star
2

zindex

Create an index on a compressed text file
C
606
star
3

jsbeeb

Javascript BBC micro emulator
JavaScript
351
star
4

Miracle

JavaScript Sega Master System Emulator
JavaScript
112
star
5

reddog

Final resting place of the source to Argonaut Dreamcast game Red Dog Superior Firepower
C
107
star
6

agner

Reworking of Agner Fog's performance test programs for Linux
C++
97
star
7

xania

Xania MUD source
C++
50
star
8

owlet-editor

A modern BBC BASIC editor inspired by the BBC Micro Bot (https://bbcmicrobot.com)
JavaScript
49
star
9

path-tracer

A path tracer in rust
Rust
44
star
10

correct-by-construction

Correct by Construction : a presentation given at C++ on Sea 2020
HTML
20
star
11

cppcon-bits-between-bits

A presentation on how much stuff happens before your code even starts running
HTML
19
star
12

wolf-doom-quake

Slides on how Wolf and maybe one day other ID games worked
JavaScript
15
star
13

beebide

A web IDE for the BBC Micro
JavaScript
14
star
14

pt-three-ways-pres

Presentation for pt-three-ways - a CppCon 2019 presentation
HTML
14
star
15

cpponsea-2019

Slides for my 2019 presentation at C++ on Sea
HTML
13
star
16

verisnake

Snake in verilog
Python
12
star
17

memory-and-caches

Slides on memory and caches
HTML
12
star
18

cpu5things

5 things you never knew your CPU did for you
CSS
10
star
19

IRClient

1990s-era ARM assembly implementation of IRC. Preserved for posterity
Visual Basic
8
star
20

onslaught

An unreleased, unfinished BBC Micro game
7
star
21

cppp-fr-superpower

Slides for a talk at 2021 cppp.fr
HTML
7
star
22

performance-tuning

HTML
5
star
23

ce-behind-the-scenes

Slides for a "Behind the Scenes" presentation
HTML
5
star
24

conan-test

An example showing how I use CMake and Conan
CMake
5
star
25

ce-cppcon-talk

Slides from CppCon 2017
HTML
5
star
26

turing

JS implementation of turing machines
JavaScript
5
star
27

bbc-micro-emulation

Slides on emulating a BBC Micro in Javascript
HTML
5
star
28

frame

Hacking on a Raspberry Pi-based e-ink photo frame
C
4
star
29

miracle-sms-emulator

Presentation and supporting material for Miracle, a Sega Master System emulator
HTML
4
star
30

blog

My personal blog and other website files
Python
4
star
31

godbolt-terraform

Personal terraform setup for various AWS things
HCL
4
star
32

ce-lightning

Lightning talk about Compiler Explorer
CSS
3
star
33

whats-new-in-compiler-explorer-2023

Slides for a presentation on Compiler Explorer at C++ on Sea and CppNorth
HTML
3
star
34

yow-conversational-asm

Slides for a talk at YOW Tool Time
HTML
2
star
35

ccs-js

Cascading Configuration System (Javascript version)
JavaScript
2
star
36

goto-2018-cpp

Slides for my GOTO 2018 talk (presented 26th April 2018)
HTML
2
star
37

zindex-pres

HTML
2
star
38

dotfiles

Useful dotfiles (public)
Python
2
star
39

be6502

My take on Ben Eater's 6502 project
C++
1
star
40

pymu

Sketches
Python
1
star
41

seasocks-slides

Slides for a 5 min talk I gave on Seasocks at OS:OM
JavaScript
1
star
42

ninja-jump

HTML5 game written with my 7 and 5 year olds
JavaScript
1
star
43

ccs-conan

Conan package building for the CCS configuration library
Python
1
star