16 Commits

Author SHA1 Message Date
3e90f7e7cd Add participating media 2022-11-13 20:19:45 +01:00
990b36d9eb Add basic transforms
This change allows us to render a complete Cornell box.
2022-11-13 19:41:48 +01:00
e78b539258 Add box hittables 2022-11-13 18:25:33 +01:00
990b9d3016 Add an empty Cornell box 2022-11-13 18:04:49 +01:00
007bb10b7b Add diffuse lights 2022-11-13 17:28:20 +01:00
8db2d5aa2c Reduce the public API of Hittable and Material 2022-11-13 16:42:05 +01:00
391aa6240e Add image textures 2022-11-13 16:35:37 +01:00
20a77499bc Add solid textures 2022-11-13 15:18:29 +01:00
9b0abbc5bb Move to unions instead of structure headers
Using explicit pointer casts silences some compiler warnings that may
introduce subtle bugs in the code. The union approach is the officially
documented way of doing type punning, so there is no reason not to use
it.
2022-11-13 13:56:25 +01:00
f23e454358 Add a bounding volume hierarchy 2022-11-12 18:59:57 +01:00
1034668c66 Add moving spheres 2022-11-12 16:46:13 +01:00
2abc2ba697 Cleanup the API 2022-11-12 16:17:42 +01:00
67cf29b684 Introduce memory arenas 2022-11-12 14:08:11 +01:00
21b3d0e713 Add materials 2022-11-11 12:06:18 +01:00
f6278ce63e Simplify the Hittable API
We need to disable strict aliasing, but it is weird anyways:
https://blog.regehr.org/archives/1307
2022-11-11 11:27:00 +01:00
ec322b7c16 Add hittable objects 2022-11-10 23:09:05 +01:00