1
- Change Log
1
+ Change Log -- Ray Tracing in One Weekend
2
2
====================================================================================================
3
3
4
- // Current to 00d0ab0 2020-03-05
4
+ ----------------------------------------------------------------------------------------------------
5
+ # v3.0.0 (in progress) / Current to b3f0bbc 2020-03-21
5
6
6
- v3.0.0 (in progress)
7
- ---------------------
8
- Common
9
- - New: CMake configuration & build
10
- - New: File constants.h with portable math constants. Fixes [ #151 ] [ ]
11
- - New: ` src/common ` directory for code shared across books
12
- - New: Common project-wide header: ` src/common/rtweekend.h `
13
- - New: ` vec3::write_color ` - provides a robust output method for color data (#93 )
14
- - Change: Diffuse PDF computation uses random point _ on_ sphere, rather than _ inside_
7
+ With the migration to a web format accomplished in v2.0.0, we immediately began work on a new major
8
+ release: v3.0.0. This release tackles the following key themes:
9
+
10
+ - Establishing a common build system for the three projects. We chose CMake for its broad support
11
+ for multiple platforms, as well as multiple build tools and IDEs. This change includes a
12
+ reorganization of the project source files, and unifying a lot of code across projects.
13
+
14
+ - A major upgrade of the project source code, addressing a number of large changes that we had
15
+ deferred for later.
16
+
17
+ - A number of larger changes to the book content, refining some approaches and ideas, and
18
+ addressing some areas in the text that needed improvement.
19
+
20
+ Following this release, we expect to switch to a much more incremental approach, mostly with
21
+ patch-level (fix) changes and some minor-level (addition) changes.
22
+
23
+ ### Common to All Project Source
15
24
- Change: Default floating-point type changed from ` float ` to ` double ` (#150 )
16
- - Change: Disable compile warnings for external ` stb_image.h ` on Windows
17
- - Change: Replace pi with portable version. Fixes [ #207 ] [ ]
18
- - Change: Replace MAXFLOAT with (portable) infinity (#195 , #216 )
19
- - Change: A _ lot_ of code refactoring throughout
20
- - New: ` degrees_to_radians() ` utility function (#217 )
21
- - Change: Lots more highlighting of changed code in books to aid reading
22
- - Change: Improved random number generator utilities
23
- - Change: Math typesetting fixes throughout the books (#13 )
25
+ - Change: Materials are now referenced with ` std::shared_ptr ` pointers
26
+ - Change: Complete elimination of bare pointers and ` new ` /` delete `
27
+ - Change: ` hittable_list ` uses ` std::vector ` plus ` std::shared_ptr ` pointers
24
28
- Change: Header cleanup across the source code (#218 , #220 )
25
- - New: Added code listing captions, including source file name, for all books (#238 )
26
- - New: Added captions to all figures (#238 )
27
- - Change: Improved naming of auxilliary programs in _ The Rest Of Your Life_ source
28
29
- Change: Cleaned up standard C++ header use (#19 )
30
+ - Change: Improved random number generator utilities
31
+ - Change: Replace MAXFLOAT with (portable) infinity (#195 , #216 )
32
+ - Change: A _ lot_ of code cleanup, refactoring, renaming (#192 )
33
+ - Change: Disable compile warnings for external ` stb_image.h ` on Windows
34
+ - Change: Replace pi with portable version (#207 )
29
35
- Change: ` ray_color() ` function now has max depth passed in, rather than hard-coding it (#143 )
30
- - Fix: Fixed various minor problems in the text
31
- - Change: Code in source and in book reformatted to a consistent 96-column line length (#219 )
32
- - Change: Books now use Markdeep's chapter indirection syntax
33
- - Fix: Fixed bug in ` noise_texture::value() `
34
- - New: Clarified text around the ideal Lambertian distribution (#155 )
35
36
- Change: Added ` random_in_unit_sphere() ` , ` random_unit_vector() ` , ` random_in_hemisphere() ` to
36
37
vec3.h. Fixed places where we were using one but should have been using another. (#145 )
37
38
- Change: General rework of the ` vec3 ` header (#153 , #156 , #215 )
38
- - Change: Updated several output images to match code updates
39
- - Change: Books general styling improvements (#197 )
40
- - Change: Lots of code cleanup (#192 )
41
39
- Change: Clarify sphere intersection code, plus slight perf improvement (#113 )
42
- - Change: Reworked Lambertian reflection text (#155 )
43
- - Change: Added proper handling of front vs back face intersection
44
- - Add: Added progress output for main programs (#139 )
45
- - Deleted: Several unused source files from ` src/TheRestOfYourLife `
46
40
- Change: ` ray::point_at_parameter() ` renamed to ` ray::at() `
47
41
- Change: Moved ` ffmin() ` , ` ffmax() ` from ` aabb.h ` to ` rtweekend.h `
48
- - Fix: Delete unused variable ` p ` in main()
49
42
- Change: Move low-level utility functions to more appropriate headers
50
- - Add: ` random_int() ` , ` random_double() ` , and ` vec3::random() ` utility functions
51
43
- Change: ` squared_length() ` renamed to ` length_squared() `
52
- - Add: Added safety value when surface texture has null data
53
- - Add: Local copy of ` markdeep.min.js ` for offline reading
54
44
- Change: Update ` sphere::hit() ` function.
55
- - Add: Additional explanatory text to the dielectric chapter
56
45
- Change: Refraction variables renamed to match reflection variable names
57
- - Change: ` hittable_list ` uses ` std::vector ` plus ` std::shared_ptr ` pointers
58
- - Change: Materials are now referenced with ` std::shared_ptr ` pointers
59
- - Change: Complete elimination of bare pointers and ` new ` /` delete `
60
- - Change: Assorted variable renames for clarity
61
- - Add: "The Next Week" main program added swtich statement for different scenes
62
- - Add: "The Next Week" main program now defines all image/camera parameters for each scene
63
- - Add: Main programs now define and handle parameterized background color
64
- - Change: General refactorings of code for clarity / simplicity
65
- - Change: Refactored acknowledgements. These are now moved to and duplicated in each book
66
46
- Change: Simplify lambertian scatter direction calculation
67
- - Change: Improve color [ 0,1] -> [ 0,255] mapping
68
- - Add: Draft image for hemispherical rendering
47
+ - New: CMake configuration & build
48
+ - New: Added progress output for main programs (#139 )
49
+ - New: ` src/common ` directory for code shared across books
50
+ - New: Common project-wide header: ` src/common/rtweekend.h `
51
+ - New: File constants.h with portable math constants (#151 )
52
+ - New: ` vec3::write_color ` - provides a robust output method for color data (#93 )
53
+ - New: ` degrees_to_radians() ` utility function (#217 )
54
+ - New: ` random_int() ` , ` random_double() ` , and ` vec3::random() ` utility functions
55
+ - New: Added safety value when surface texture has null data
56
+ - New: Main programs now define and handle parameterized background color
57
+ - Fix: Diffuse PDF computation uses random point _ on_ sphere, rather than _ inside_
58
+ - Fix: Improve color [ 0,1] -> [ 0,255] mapping
59
+
60
+ ### Common to All Books
61
+ - Change: Code in source and in book reformatted to a consistent 96-column line length (#219 )
62
+ - Change: Lots more highlighting of changed code in books to aid reading
63
+ - Change: Math typesetting fixes throughout the books (#13 )
64
+ - Change: Books now use Markdeep's chapter indirection syntax
65
+ - Change: Updated several output images to match code updates
66
+ - Change: Books general styling improvements (#197 )
67
+ - Change: Refactored acknowledgements. These are now moved to and duplicated in each book
68
+ - New: Added code listing captions, including source file name, for all books (#238 )
69
+ - New: Added captions to all figures (#238 )
70
+ - New: Local copy of ` markdeep.min.js ` for offline reading
71
+ - Fix: Fixed various minor problems in the text
72
+
73
+ ### _ In One Weekend_
74
+ - Change: Reworked Lambertian reflection text (#155 )
75
+ - New: Clarified text around the ideal Lambertian distribution (#155 )
76
+ - New: Additional explanatory text to the dielectric chapter
77
+ - New: Image for hemispherical rendering
78
+ - Fix: Update ` ray_color() ` code blocks to match current source (#391 )
79
+
80
+ ### _ The Next Week_
81
+ - Change: Added proper handling of front vs back face intersection (#270 )
82
+ - New: "The Next Week" main program added swtich statement for different scenes
83
+ - New: "The Next Week" main program now defines all image/camera parameters for each scene
84
+ - Fix: Fixed bug in ` noise_texture::value() ` (#396 )
69
85
- Fix: Correct first Perlin noise() function in "The Next Week".
86
+ - Fix: Fix OCR error in ` texture::value() ` function (#399 )
87
+ - Fix: Remove premature declaration of ` moving_sphere::bounding_box() ` (#405 )
70
88
89
+ ### _ The Rest of Your Life_
90
+ - Change: Improved naming of auxilliary programs in _ The Rest of Your Life_ source
91
+ - Fix: Delete unused variable ` p ` in main() (#317 )
92
+ - Deleted: Several unused source files from ` src/TheRestOfYourLife `
93
+
94
+
95
+ ----------------------------------------------------------------------------------------------------
96
+ # v2.0.0 (2019-10-07)
97
+
98
+ This major release marks an overhaul of the entire series, moving from a primarily PDF format to a
99
+ web accessible format using Markdeep (https://casual-effects.com/markdeep/ ). This represents a huge
100
+ overhaul to the contents, particularly around source code blocks in the text, mathematical
101
+ typesetting and source-code cleanup.
71
102
72
- v2.0.0 (2019-10-07)
73
- --------------------
74
- Common
103
+ ### Common
104
+ - Change: Moved existing _ InOneWeekend _ , _ TheNextWeek _ , _ TheRestOfYourLife _ content to io repo
105
+ - Change: Rewrote vec3.h ` cross ` function for clarity
75
106
- New: General release to web
76
107
- New: Created single monolithic raytracing.github.io repo
77
108
- New: License change to CC0 in COPYING.txt
78
- - Delete: Deprecated existing _ InOneWeekend_ , _ TheNextWeek_ , _ TheRestOfYourLife_ repos
79
- - Change: Moved existing _ InOneWeekend_ , _ TheNextWeek_ , _ TheRestOfYourLife_ content to io repo
80
- - Add: CHANGELOG.md
81
- - Add: CONTRIBUTING.md
82
- - Add: COPYING.txt
83
- - Add: README.md
84
- - Add: raytracing.github.io links to all the three books
85
- - Add: CSS for all books
86
- - Add: CSS for the print variant of the books
109
+ - New: CHANGELOG.md
110
+ - New: CONTRIBUTING.md
111
+ - New: COPYING.txt
112
+ - New: README.md
113
+ - New: raytracing.github.io links to all the three books
114
+ - New: CSS for all books
115
+ - New: CSS for the print variant of the books
87
116
- Fix: All instances of ` hitable ` have become ` hittable `
88
117
- Fix: Replaced ` drand48() ` with portable ` random_double ` number generation
89
- - Change: Rewrote vec3.h ` cross ` function for clarity
90
-
118
+ - Delete: Deprecated existing _ InOneWeekend_ , _ TheNextWeek_ , _ TheRestOfYourLife_ repos
91
119
92
- _ Ray Tracing in One Weekend_
93
- - Fix: Text, Chapter 7, Add ` #include "random.h" ` in code blocks
94
- - Fix: Text, Chapter 10, Added metal fuzziness parameter for initial dielectric
95
- - Fix: Text, Chapter 13, Added metal fuzziness parameter
96
- - Fix: Code, Removed extraneous ` ; ` from ` vec3::&operator[] ` signature
97
- - New: Markdeep page created for entire body of text
98
- - New: Markdeep MathJax for formulae and equations for body of text
99
- - New: raytracing.github.io/books/RayTracingInOneWeekend.html
120
+ ### _ In One Weekend_
100
121
- Change: README files updated for top level, source, and books
101
122
- Change: Text, Chapter 0 Overview has become Chapter 1, all subsequent chapters incremented
102
123
- Change: Text, Syntax highlighting of source modifications
@@ -113,20 +134,16 @@ _Ray Tracing in One Weekend_
113
134
- Change: Text, Chapter 10, Put function signatures and ` { ` on the same line
114
135
- Change: Text, Chapter 11, Consistent use of spaces in code blocks
115
136
- Change: Text, Chapter 13, Put function signatures and ` { ` on the same line
137
+ - New: Markdeep page created for entire body of text
138
+ - New: Markdeep MathJax for formulae and equations for body of text
139
+ - New: raytracing.github.io/books/RayTracingInOneWeekend.html
140
+ - Fix: Text, Chapter 7, Add ` #include "random.h" ` in code blocks
141
+ - Fix: Text, Chapter 10, Added metal fuzziness parameter for initial dielectric
142
+ - Fix: Text, Chapter 13, Added metal fuzziness parameter
143
+ - Fix: Code, Removed extraneous ` ; ` from ` vec3::&operator[] ` signature
116
144
- Delete: Code, ` vec3 p = r.point_at_parameter(2.0); ` in main.cc
117
145
118
-
119
- _ Ray Tracing: The Next Week_
120
- - Fix: Text, Chapter 2, The ` lambertian ` class definition now uses ` vec3 ` instead of ` texture `
121
- - Fix: Text, Chapter 7, Changed ` cornell_box ` hittable array size to 5
122
- - Fix: Code and Text, Chapter 3, Changed ` List[0] ` to ` List[i] ` in ` hittable_list::bounding_box() `
123
- - Fix: Code and Text, Chapter 3, Replaced ` fmax ` and ` fmin ` with ` ffmax ` and ` ffmin `
124
- - Fix: Code, Add missing headers to ` constant_medium.h ` to fix g++ compiler error
125
- - New: raytracing.github.io/books/RayTracingTheNextWeek.html
126
- - Add: README.md, source README.md
127
- - Add: Markdeep page created for entire body of text
128
- - Add: Markdeep MathJax created for formulae and equations for body of text
129
- - Add: Earth map picture for use in rendering
146
+ ### _ The Next Week_
130
147
- Change: Text, Chapter 0 Overview has become Chapter 1, all subsequent chapters incremented
131
148
- Change: Text, Syntax highlighting of source modifications
132
149
- Change: Text, Chapter 2, Consistent use of spaces in code blocks
@@ -141,18 +158,18 @@ _Ray Tracing: The Next Week_
141
158
- Change: Text, Chapter 10, Consistent use of spaces in code blocks
142
159
- Change: Code and Text, Chapter 9, cleaned up implementation of ` constant_medium::hit `
143
160
- Change: Code and Text, Chapter 9, Rewrote debug functionality in ` constant_medium::hit `
161
+ - New: raytracing.github.io/books/RayTracingTheNextWeek.html
162
+ - New: README.md, source README.md
163
+ - New: Markdeep page created for entire body of text
164
+ - New: Markdeep MathJax created for formulae and equations for body of text
165
+ - New: Earth map picture for use in rendering
166
+ - Fix: Text, Chapter 2, The ` lambertian ` class definition now uses ` vec3 ` instead of ` texture `
167
+ - Fix: Text, Chapter 7, Changed ` cornell_box ` hittable array size to 5
168
+ - Fix: Code and Text, Chapter 3, Changed ` List[0] ` to ` List[i] ` in ` hittable_list::bounding_box() `
169
+ - Fix: Code and Text, Chapter 3, Replaced ` fmax ` and ` fmin ` with ` ffmax ` and ` ffmin `
170
+ - Fix: Code, Add missing headers to ` constant_medium.h ` to fix g++ compiler error
144
171
145
-
146
- _ Ray Tracing: The Rest of Your Life_
147
- - Fix: Text, Chapter order starting from chapter 2
148
- - Fix: Text, Renamed figures and images to match new chapter numbering
149
- - Fix: Text, Chapter 4, Rewrote formula for "Color" to "Color = A * color(direction"
150
- - Fix: Code and Text, Chapter 6, ` material::scattering_pdf ` now returns type float
151
- - Fix: Code and Text, Chapter 6, removal of factor of 2 to ` random_cosine_direction ` calculation
152
- - New: raytracing.github.io/books/RayTracingTheRestOfYourLife.html
153
- - Add: README.md, source README.md
154
- - Add: Markdeep page created for entire body of text
155
- - Add: Markdeep MathJax created for formulae and equations for body of text
172
+ ### _ The Rest of Your Life_
156
173
- Change: Text, Chapter 0 Overview has become Chapter 1, all subsequent chapters incremented
157
174
- Change: Text, Syntax highlighting of source modifications
158
175
- Change: Text, Chapter 2, Reorder include files in code blocks to match src conventions
@@ -161,25 +178,31 @@ _Ray Tracing: The Rest of Your Life_
161
178
- Change: Text, Chapter 6, Consistent use of spaces in code blocks
162
179
- Change: Text, Chapter 8, Changed calculation of ` a ` axis to pseudocode
163
180
- Change: Text, Chapter 8, Consistent use of spaces in code blocks
181
+ - New: raytracing.github.io/books/RayTracingTheRestOfYourLife.html
182
+ - New: README.md, source README.md
183
+ - New: Markdeep page created for entire body of text
184
+ - New: Markdeep MathJax created for formulae and equations for body of text
185
+ - Fix: Text, Chapter order starting from chapter 2
186
+ - Fix: Text, Renamed figures and images to match new chapter numbering
187
+ - Fix: Text, Chapter 4, Rewrote formula for "Color" to "Color = A * color(direction"
188
+ - Fix: Code and Text, Chapter 6, ` material::scattering_pdf ` now returns type float
189
+ - Fix: Code and Text, Chapter 6, removal of factor of 2 to ` random_cosine_direction ` calculation
190
+
164
191
192
+ ----------------------------------------------------------------------------------------------------
193
+ # v1.123.0 (2018-08-26)
165
194
166
- v1.123.0 (2018-08-26)
167
- -----------------------
168
- _ Ray Tracing: The Rest of Your Life_
169
- - New: First GitHub release.
195
+ - New: First GitHub release of _ Ray Tracing: The Rest of Your Life_ .
170
196
171
197
172
- v1.54.0 (2018-08-26)
173
- ----------------------
174
- _ Ray Tracing in One Weekend_
175
- - New: First GitHub release.
198
+ ----------------------------------------------------------------------------------------------------
199
+ # v1.54.0 (2018-08-26)
176
200
201
+ - New: First GitHub release of _ Ray Tracing in One Weekend_ .
177
202
178
- v1.42.0 (2018-08-26)
179
- ----------------------
180
- _ Ray Tracing: The Next Week_
181
- - New: First GitHub release.
182
203
204
+ ----------------------------------------------------------------------------------------------------
205
+ # v1.42.0 (2018-08-26)
183
206
207
+ - New: First GitHub release of _ Ray Tracing: The Next Week_ .
184
208
185
- [ #195 ] : https://github.com/raytracing/raytracing.github.io/issues/#195
0 commit comments