-
Notifications
You must be signed in to change notification settings - Fork 940
Aggregation of Possible Next Steps
As living documents, there is always more polish and more refinement that can be achieved in the existing Ray Tracing books.
This can get in the way of expanding the series. There are unquestionably many--a seemingly uncountable number of--ways that the series can be appended, expanded, and iterated.
Looking to the future of its development, we have decided to collate all previously existing suggestions for expansion. This is an area of the book that could use some polish (another one!).
As an example, the final chapter of Ray Tracing in One Weekend is entitled "Where Next?" and contains a list of possible places to take your newly formed raytracer.
When In One Weekend was published, it existed as the sole book standing on its own. Including a list of places for exploration naturally keyed into the philosophy of the text. However, as additional books in the series were created, a problem emerged. Many of the suggestions offered at the end of In One Weekend are present in Ray Tracing: The Next Week. Some, however, are noticeably absent (specifically; shadow rays, triangles, and parallelism). In addition, The Next Week does not contain a chapter devoted to next steps, whereas Ray Tracing: The Rest of Your Life contains such a chapter.
So, we have a chapter in book 1 that contains a list of possible next steps for your raytracer (some of which is implemented in the next book). A book 2 which contains no such list. And a book 3 which contains such a list, but has no implementation for any of it.
Adding to this complexity, the books launched with a blogspot in tandem. http://in1weekend.blogspot.com/ was created with the goal of suggesting and showcasing raytracer projects that could be completed in one weekend. For every book in the series: In One Weekend, The Next Week, and The Rest of Your Life, a blog post was written that contains additional (mostly distinct) suggestions for each chapter in that book. There are dozens of ideas in these blogs, not to mention the wealth of information contained in the comments!
At present, the complexity of this collection leads the author to be unable to recommend following any of the suggestions.
The wiki contained here is an attempt to wrangle all of these suggestions into a single moldable document, with the aim of redesigning this aspect of the series.
- Adding lights explicitly: Sending shadow rays to lights
- Adding lights implicitly: Making objects emit light
- Bias scattered rays toward lights, down-weighting those rays to cancel out the bias
- Peter Shirley's preference (in the minority)
- Adding triangles
- Adding surface textures
- Adding solid textures
- Ken Perlin's code is online
- Andrew Kensler has more at his blog
- Adding Volumes and Media
- Probabilistic intersections based on density
- Parallelism
- Run N copies of code on N cores with different random seeds. Average the results
- Explore Monte Carlo Methods
- Bidirectional path tracing
- Metropolis algorithm
- Movie renderers
- Look at papers out of studios
- Look at papers out of Solid Angle
- High-performance ray tracing
- Look at papers from Intel
- Look at papers from Nvidia
- Hard-core Physically Based Renderers: Convert from RBB rendering to spectral rendering
- Each ray has a unique random wavelength
- Add a glossy BRDF model
http://in1weekend.blogspot.com/2016/01/ray-tracing-in-one-weekend.html
- Read Turner Whitted's seminal 1980 ray tracing paper
- Chapter 0: Overview
- Fundamentals of Computer Graphics, 4th Ed, Marschner and Shirley
- The Graphics Codex, Mcguire
- Real-Time Rendering, 4th Ed, Akenine-Möller et al.
- Computer Graphics: Principles and Practice, 3rd Ed, Hughes et al.
- Chapter 1: Output an image
- https://github.com/nothings/stb/blob/master/stb_image.h
- High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting, 2nd Ed, Reingard et al.
http://in1weekend.blogspot.com/2016/01/ray-tracing-second-weekend.html
http://in1weekend.blogspot.com/2016/03/ray-tracing-rest-of-your-life.html