Commit Graph

1769 Commits

Apr 25, 2025
Steve Hollasch 562bfb5e8d 2025-04-25 11:34:04 -07:00
Steve Hollasch ac829ba90b 2025-04-25 11:30:46 -07:00
Steve Hollasch e6e6a4b292 2025-04-25 11:22:50 -07:00
v4.0.2
Steve Hollasch 0ab7db4c08 2025-04-25 11:01:44 -07:00
Apr 24, 2025
Steve Hollasch 24068865d5 2025-04-24 19:38:54 -07:00
Steve Hollasch b2039b904f 2025-04-24 12:38:40 -07:00
Mar 04, 2025
Resolves #1686
Steve Hollasch f20e422430 2025-03-04 16:30:39 -08:00
Mar 02, 2025
Fix typo
Change `add` to `and` in Book 2 Section 5.1
Resolves #1683
Alex 8560f0d5b2 2025-03-02 10:35:23 -08:00
Feb 25, 2025
Resolves #1681
Steve Hollasch 429b57a8d6 2025-02-25 12:46:19 -08:00
Feb 12, 2025
Steve Hollasch 1c501bcf46 2025-02-12 16:07:09 -08:00
Resolves #1677
Alex 104cfce31e 2025-02-12 14:35:55 -08:00
Add missing `that` in Book 2 Section 3.9
Resolves #1675
Alex b11aadcfb0 2025-02-12 14:34:58 -08:00
Jan 07, 2025
Steve Hollasch 510407d72b 2025-01-07 12:54:02 -08:00
Nov 15, 2024
Resolves #1637
Steve Hollasch 25b8ba8414 2024-11-15 14:06:21 -08:00
Nov 06, 2024
Steve Hollasch e890e6d0da 2024-11-06 11:49:58 -08:00
Steve Hollasch 45f8ffc902 2024-11-06 11:48:33 -08:00
Resolves #1644
Steve Hollasch f1772b050c 2024-11-06 11:46:17 -08:00
Aug 31, 2024
Steve Hollasch 4bffd2a606 2024-08-31 13:21:08 -07:00
Steve Hollasch f0dbee0546 2024-08-31 13:19:15 -07:00
Steve Hollasch dc8b773b01 2024-08-31 13:14:37 -07:00
v4.0.1
Steve Hollasch b6a3368710 2024-08-31 12:35:47 -07:00
Aug 29, 2024
Resolves #1628
Steve Hollasch f0ade8eb94 2024-08-29 21:40:51 -07:00
Aug 28, 2024
This basically implements Peter's original alternative of having spheres
always support animation, with static spheres as a special case. In this
case, using a ray to represent the sphere center allows for pretty
trivial selection of the center position at a given time, and simplifies
the code.
Steve Hollasch 7fa2506865 2024-08-28 16:35:28 -07:00
Aug 27, 2024
Steve Hollasch aa6c7b7cb1 2024-08-27 21:34:44 -07:00
Steve Hollasch 9797a8e0b5 2024-08-27 21:34:17 -07:00
Resolves #1532
Steve Hollasch 26d2c3238b 2024-08-27 00:56:34 -07:00
Resolves #1331
Steve Hollasch 375888f1e0 2024-08-27 00:55:38 -07:00
Resolves #1535
Steve Hollasch d32eea196d 2024-08-27 00:53:57 -07:00
Aug 23, 2024
Small improvement to rotate_y::hit() function
Steve Hollasch b09c5a1d84 2024-08-23 11:30:49 -07:00
Steve Hollasch 07f11f5045 2024-08-23 11:29:07 -07:00
The old method had a floating-point weakness in which all three vector
components, when small enough, can yield a vector length that underflows
to zero, leading to a bogus [+/- infinity, +/- infinity, +/- infinity]
result.

This change also eliminates the `random_in_unit_sphere()` function, and
does everything inside the `random_unit_vector()` function, which allows
us to compute the vector length only once and then re-use it for
normalization.

Resolves #1606
Steve Hollasch c6f803f6f9 2024-08-23 11:22:13 -07:00
Resolves #1529
Steve Hollasch 3c67b90ebf 2024-08-23 11:21:50 -07:00
Resolves #1612
Steve Hollasch 3a2f677a01 2024-08-23 11:21:15 -07:00
Resolves #819
Steve Hollasch 1bcf13505e 2024-08-23 11:20:32 -07:00
It used to be that the `translate` and `rotate_y` classes managed
rotations of `aabb`. This change moves the `aabb` transform code into
the `aabb` class itself.

Reference #819
Steve Hollasch efaffcb1d1 2024-08-23 11:20:32 -07:00
This simplifies the `material::emitted()` function.

Resolves #1605
Steve Hollasch a7b2e9da53 2024-08-23 11:19:39 -07:00
Aug 22, 2024
Resolves #1484
Steve Hollasch 276cf1c2e0 2024-08-22 12:11:24 -07:00
Aug 21, 2024
Resolves #1607
Steve Hollasch 949dec957a 2024-08-21 13:28:48 -07:00
Aug 19, 2024
Steve Hollasch f3656ea0b2 2024-08-19 20:16:15 -07:00
Steve Hollasch 4e43106535 2024-08-19 20:15:05 -07:00
Steve Hollasch 7bf2f3cd45 2024-08-19 13:18:03 -07:00
The prior version used a forward declaration of `hit_record`, which was
insufficient since hittable.h lines referenced members of `hit_record`,
and was unnecessary because hittable.h was included before material.h in
practice.

For this specific code, the inclusion is unnecessary, but is proper
form.

Resolves #1608
Steve Hollasch 165238d9cc 2024-08-19 13:18:03 -07:00
Aug 18, 2024
Resolves #1603
Steve Hollasch fe3385bad0 2024-08-18 10:15:17 -07:00
Aug 16, 2024
Resolves #1600
Jeff Smith 40c5c92a76 2024-08-16 13:36:41 -07:00
Aug 15, 2024
Steve Hollasch a76b28aaff 2024-08-15 20:50:19 -07:00
Steve Hollasch 76d8777ad6 2024-08-15 20:49:55 -07:00
Steve Hollasch cac1b1a283 2024-08-15 20:48:12 -07:00
Steve Hollasch e57d1ea14c 2024-08-15 11:34:47 -07:00
Aug 04, 2024
- Bigger font for print version code listings.
- More compact line height for print + online code listings.

Resolves #1595
Steve Hollasch e52678dc59 2024-08-04 13:36:47 -07:00