Skip to content

Commit efec4ff

Browse files
committed
Update changelog to 2020-03-22
This includes reorganization of the whole file. Added introductory text for both v2.0.0 and v3.0.0.
1 parent ccc0907 commit efec4ff

File tree

1 file changed

+131
-108
lines changed

1 file changed

+131
-108
lines changed

CHANGELOG.md

Lines changed: 131 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,123 @@
1-
Change Log
1+
Change Log -- Ray Tracing in One Weekend
22
====================================================================================================
33

4-
// Current to 00d0ab0 2020-03-05
4+
----------------------------------------------------------------------------------------------------
5+
# v3.0.0 (in progress) / Current to b3f0bbc 2020-03-21
56

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
1524
- 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
2428
- 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
2829
- 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)
2935
- 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)
3536
- Change: Added `random_in_unit_sphere()`, `random_unit_vector()`, `random_in_hemisphere()` to
3637
vec3.h. Fixed places where we were using one but should have been using another. (#145)
3738
- 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)
4139
- 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`
4640
- Change: `ray::point_at_parameter()` renamed to `ray::at()`
4741
- Change: Moved `ffmin()`, `ffmax()` from `aabb.h` to `rtweekend.h`
48-
- Fix: Delete unused variable `p` in main()
4942
- Change: Move low-level utility functions to more appropriate headers
50-
- Add: `random_int()`, `random_double()`, and `vec3::random()` utility functions
5143
- 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
5444
- Change: Update `sphere::hit()` function.
55-
- Add: Additional explanatory text to the dielectric chapter
5645
- 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
6646
- 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)
6985
- 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)
7088

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.
71102

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
75106
- New: General release to web
76107
- New: Created single monolithic raytracing.github.io repo
77108
- 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
87116
- Fix: All instances of `hitable` have become `hittable`
88117
- 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
91119

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_
100121
- Change: README files updated for top level, source, and books
101122
- Change: Text, Chapter 0 Overview has become Chapter 1, all subsequent chapters incremented
102123
- Change: Text, Syntax highlighting of source modifications
@@ -113,20 +134,16 @@ _Ray Tracing in One Weekend_
113134
- Change: Text, Chapter 10, Put function signatures and `{` on the same line
114135
- Change: Text, Chapter 11, Consistent use of spaces in code blocks
115136
- 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
116144
- Delete: Code, `vec3 p = r.point_at_parameter(2.0);` in main.cc
117145

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_
130147
- Change: Text, Chapter 0 Overview has become Chapter 1, all subsequent chapters incremented
131148
- Change: Text, Syntax highlighting of source modifications
132149
- Change: Text, Chapter 2, Consistent use of spaces in code blocks
@@ -141,18 +158,18 @@ _Ray Tracing: The Next Week_
141158
- Change: Text, Chapter 10, Consistent use of spaces in code blocks
142159
- Change: Code and Text, Chapter 9, cleaned up implementation of `constant_medium::hit`
143160
- 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
144171

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_
156173
- Change: Text, Chapter 0 Overview has become Chapter 1, all subsequent chapters incremented
157174
- Change: Text, Syntax highlighting of source modifications
158175
- 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_
161178
- Change: Text, Chapter 6, Consistent use of spaces in code blocks
162179
- Change: Text, Chapter 8, Changed calculation of `a` axis to pseudocode
163180
- 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+
164191

192+
----------------------------------------------------------------------------------------------------
193+
# v1.123.0 (2018-08-26)
165194

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_.
170196

171197

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)
176200

201+
- New: First GitHub release of _Ray Tracing in One Weekend_.
177202

178-
v1.42.0 (2018-08-26)
179-
----------------------
180-
_Ray Tracing: The Next Week_
181-
- New: First GitHub release.
182203

204+
----------------------------------------------------------------------------------------------------
205+
# v1.42.0 (2018-08-26)
183206

207+
- New: First GitHub release of _Ray Tracing: The Next Week_.
184208

185-
[#195]: https://github.com/raytracing/raytracing.github.io/issues/#195

0 commit comments

Comments
 (0)