Technical books on a subject like this tend to either be long-winded affairs in textbook format, or poorly written trade books. This book is neither long-winded nor poorly written. In that sense it's a triumph.
Programming wise, you will need nothing more than the equivalent of two college courses intro programming, object-oriented programming to complete this book. I would call the level of programmatic difficulty "intermediate. If you have never seen geometry described using three-dimensional vectors then this book will be impossible. Most of the intended readers likely have seen that math. So, if it's a well-written book that stays within its titular call-to-action, then what's the problem?
Polish—the book lacks polish. This is the kind of problem that gives self-publishing a bad name. The source code snippets are presented in images with text so small that it is hard to read. As of the Kindle version of March , there are multiple mistakes in the source code in said images unused variables, wrong constants, actual logic errors , some of which Shirley explicitly changed in the Kindle text to point out, yet did not fix in the source code snippet images. His decision to use these convoluted source code images are explained away on his blog for expediency and in the introduction as incentive to type the code in.
Yes, we should type the code in ourselves, but not at the expense of it being so small in the book that it's unreadable and hard for him to update to revise the Kindle edition. There other polish issues too — a lack of comments in the source code, text that could've used a good copy editor, hand drawn diagrams that are not as lucid as they could be.
Shirley has written a great book, but he needs to clean it up so as not to continue to give self-publishing a bad name! Dec 23, Carlos Scheidegger rated it it was amazing.
Shader - Shadertoy BETA
I mean, I took a course from Pete in grad school, so of course I'm biased I picked this up to have a small project through which to get back into Rust. The book doesn't disappoint. I'll tell you this - I've never written anything else that comes near this ratio of satisfaction per line of code. Highly, highly recommended.
What is ray tracing? The games, the graphics cards and everything else you need to know
Dec 02, Blux rated it really liked it. Great approach to writing a quick path tracer to gives impressive results. A little bit light on the Fresnel equation details, and the code contains some strange sign choices here and there, but overall, great read and a lot of fun to co-implement as you read. Sep 10, Joe Davis added it. Great into to ray tracing Concisely introduces the core concepts of ray tracing.
Jul 16, Huy Tran rated it it was amazing. Very well written and easy to follow. I don't read all the code but the math and explanation are very interesting. A must read for anyone want to start writing Ray Tracer. Aug 25, Antoine Fortin added it Shelves: computer-sciences.
This one is a gem :. Jul 03, Michael Fessenden rated it it was amazing. Simple and fantastic resource! A great learning resource, full of straightforward examples. Provides a great foundation for learning how to build a working raytracer. Dec 26, Dheerendra Rathor rated it really liked it.
This book reminded me of Advanced Computer Graphics classes. Reading about ray tracing is boring it's just normal physics but implementation is damn fun. Mar 11, Bruno Croci rated it it was amazing Shelves: programming. Very practical book to get into ray tracing. Apr 22, Dave Yu rated it it was amazing. I really enjoyed this book. It's a very light reference that presents you with a raytracer that can produce some fairly nice-looking images. I don't think that this is a weekend project as the book makes it out to be.
I think one to two weeks is a much more reasonable timeframe to complete the raytracer defined in this book. Some of the equations and code EG: ray refraction, Shlick's approximation were quickly glossed over, and required additional work from the reader to understand. At the end I really enjoyed this book.
At the end of the day, it is a very nice, short implementation-centric book that produces pretty pictures, so I recommend it. Apr 30, Mariusz Bartosik rated it really liked it. Overall, this mini-book is like a notepad with lecture notes. Short explanations, hand drawn images and code snippets are there, but you have to do additional research and organise exercise labs on your own. If you are willing to do this, then this book is for you and can bring you some fun and satisfaction. Nice work! Altmice I'm also reading Shirley's book right now.
I read through the first blog but haven't downloaded and built the code.
The Business Card Code
Your use of callable programs to build shader networks seems spot on. On the motion blur section: if you want to turn your motion spheres with padded bounding boxes into motion spheres that use the OptiX API to create a motion BVH, that would just require minimal changes on top of what you have. Padded boxes are fine for small to medium motion as in your image, but get pretty slow for extreme motion.
Let us know if you try this and have feedback on the API. On volume rendering, you're picking a single random point inside the volume in the intersection program, correct?
- What is Ray Tracing?.
- Representations of Linear Operators Between Banach Spaces!
- Raytracing: the next week.
- Fantasia in E-flat Major (1783)!
- What the Heck is Ray Tracing and Why Does it Matter for Next-Generation Consoles? An Explainer.
- In One Weekend: Ray Tracing: the Next Week?
Could this approach be extended to handle nested volumes, or more importantly non-volume surfaces floating inside the volume? You might need to build up some intervals and delay the sampling of the volume until later to handle these more complex cases, rather than returning the sample point directly from the intersection program where you only have local knowledge of the object. I will let you know once I'm done doing it! About the volume approach, I would need to think about it a bit more.
Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1)
Currently, it's close to what Mr. Shirley does in the second book. I'm still unsure how I would delay the volume sampling but your idea does sound interesting! Changing the moving spheres to make use of the API will most likely be the next step. Please Login Register to add a comment. Not a member? Register Now. Join Login.