Commit 0a0c519
committed
Refactor sphere hit method to use common code
The sphere::hit() function calls get_sphere_uv() with the intersection
point transformed to its position on a unit sphere centered at the
origin. But this calculation was already performed for the normal
vector, so we should just reuse that result instead of calculating it
twice.
Also, the prior sphere::hit() methods duplicated the main update block
with a single change in variable value. This change solves and selects
the intersection root first, then updates the hit record for a good hit,
simplifying the code and the text.1 parent 7a396c0 commit 0a0c519
File tree
7 files changed
+122
-231
lines changed- books
- src
- InOneWeekend
- TheNextWeek
- TheRestOfYourLife
7 files changed
+122
-231
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
902 | 902 | | |
903 | 903 | | |
904 | 904 | | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
910 | | - | |
911 | | - | |
912 | | - | |
913 | | - | |
914 | | - | |
915 | | - | |
916 | | - | |
917 | 905 | | |
918 | | - | |
919 | | - | |
920 | | - | |
921 | | - | |
922 | | - | |
923 | | - | |
924 | | - | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
925 | 916 | | |
926 | 917 | | |
927 | | - | |
928 | | - | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
929 | 921 | | |
| 922 | + | |
| 923 | + | |
930 | 924 | | |
931 | 925 | | |
932 | 926 | | |
| |||
1026 | 1020 | | |
1027 | 1021 | | |
1028 | 1022 | | |
1029 | | - | |
1030 | | - | |
1031 | | - | |
1032 | | - | |
1033 | | - | |
| 1023 | + | |
1034 | 1024 | | |
1035 | | - | |
1036 | | - | |
1037 | | - | |
1038 | | - | |
1039 | | - | |
1040 | | - | |
1041 | | - | |
1042 | | - | |
1043 | | - | |
1044 | | - | |
1045 | | - | |
1046 | | - | |
1047 | | - | |
1048 | | - | |
1049 | | - | |
1050 | | - | |
| 1025 | + | |
| 1026 | + | |
1051 | 1027 | | |
1052 | | - | |
1053 | | - | |
| 1028 | + | |
| 1029 | + | |
1054 | 1030 | | |
1055 | | - | |
1056 | | - | |
1057 | | - | |
1058 | | - | |
| 1031 | + | |
| 1032 | + | |
1059 | 1033 | | |
1060 | 1034 | | |
1061 | 1035 | | |
| |||
2013 | 1987 | | |
2014 | 1988 | | |
2015 | 1989 | | |
2016 | | - | |
2017 | | - | |
2018 | | - | |
2019 | | - | |
2020 | | - | |
| 1990 | + | |
2021 | 1991 | | |
2022 | | - | |
2023 | | - | |
2024 | | - | |
2025 | | - | |
2026 | | - | |
2027 | | - | |
2028 | | - | |
2029 | | - | |
2030 | | - | |
2031 | | - | |
2032 | | - | |
2033 | | - | |
2034 | | - | |
2035 | | - | |
2036 | | - | |
2037 | | - | |
2038 | | - | |
2039 | | - | |
2040 | | - | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
2041 | 1996 | | |
2042 | | - | |
| 1997 | + | |
2043 | 1998 | | |
2044 | | - | |
2045 | | - | |
2046 | | - | |
2047 | | - | |
| 1999 | + | |
| 2000 | + | |
2048 | 2001 | | |
2049 | 2002 | | |
2050 | 2003 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
226 | | - | |
227 | | - | |
| 225 | + | |
228 | 226 | | |
229 | 227 | | |
230 | 228 | | |
| |||
233 | 231 | | |
234 | 232 | | |
235 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
236 | 244 | | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
| 245 | + | |
| 246 | + | |
244 | 247 | | |
245 | | - | |
| 248 | + | |
246 | 249 | | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
| 250 | + | |
| 251 | + | |
251 | 252 | | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
| 253 | + | |
265 | 254 | | |
266 | 255 | | |
267 | 256 | | |
| |||
1202 | 1191 | | |
1203 | 1192 | | |
1204 | 1193 | | |
1205 | | - | |
1206 | 1194 | | |
1207 | 1195 | | |
1208 | | - | |
1209 | | - | |
1210 | | - | |
1211 | | - | |
1212 | | - | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | 1196 | | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
1228 | | - | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
1229 | 1201 | | |
1230 | | - | |
| 1202 | + | |
1231 | 1203 | | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | | - | |
| 1204 | + | |
1236 | 1205 | | |
| 1206 | + | |
| 1207 | + | |
1237 | 1208 | | |
1238 | 1209 | | |
1239 | 1210 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | 41 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
55 | 45 | | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
65 | 52 | | |
66 | 53 | | |
67 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
68 | 61 | | |
69 | 62 | | |
70 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | 59 | | |
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
64 | 63 | | |
65 | 64 | | |
66 | 65 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
90 | 75 | | |
91 | 76 | | |
92 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
93 | 84 | | |
94 | 85 | | |
95 | 86 | | |
0 commit comments