8400ea96aa
Add Perlin noise
2022-11-13 15:53:22 +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
c97d9664e0
Render a larger scene
2022-11-12 13:36:03 +01:00
482a3bf196
Add defocus blur
2022-11-11 22:58:22 +01:00
e5e5863c1d
Parametrize the camera
2022-11-11 22:46:52 +01:00
7e6ba7d445
Add glass material
2022-11-11 12:27:06 +01:00
21b3d0e713
Add materials
2022-11-11 12:06:18 +01:00
062f51c7e6
Ignore valgrind core files
2022-11-11 11:36:52 +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
e397ee9ad9
Use true Lambertian diffusion
2022-11-11 09:48:49 +01:00
204180b1a7
Add gamma correction and fix rounding errors
2022-11-11 09:44:01 +01:00
0f5b6a756c
Render a diffuse sphere
2022-11-11 09:39:51 +01:00
d2a6aec56c
Add a simple camera and antialiasing
2022-11-10 23:26:18 +01:00
ec322b7c16
Add hittable objects
2022-11-10 23:09:05 +01:00
6352cbf0fd
Simplify the ray-sphere intersection code
2022-11-10 22:17:22 +01:00
647abd385d
Render surface normals
2022-11-10 22:12:35 +01:00
e1173e5bd3
Add a simple sphere
2022-11-10 22:07:37 +01:00
c9e8fb7091
Add background color
2022-11-10 22:03:35 +01:00
14fa4b6c9a
Add vectors, points and colors
2022-11-10 21:35:56 +01:00
e13b93fac0
Add a progress indicator
2022-11-10 21:34:14 +01:00
7e9c50b764
Initial commit
2022-11-10 21:17:15 +01:00