joseph-grosso

joseph-grosso

Review: The Ray Tracer Challenge

I finished the book just last month! Super happy with the results. To celebrate I wrote an article and posted about my experience.

For a few thoughts on the book: it was great to learn ray tracing through the test-first approach. I learned a lot about both graphics and C++ programming through the process.

About optimizations and the end-of-chapter challenges: It’s worth it to make some performance optimizations earlier on in the development process, especially once you’re starting to render more complex scenes. It makes the iteration process a lot smoother. The two biggest optimizations I found were adding multithreading (straightforward because ray tracing is embarrassingly parallel) and precomputing matrix inversions. I highly recommend implementing this for your scene’s objects as that computation was by far the heaviest method, and it’s called many times per pixel.

GitHub repo:

Medium Article:

https://medium.com/@jogrosso/the-ray-tracer-challenge-learning-c-through-computer-graphics-e45a68fb7cd5

Most Liked

jamis

jamis

Author of Mazes for Programmers and 1 other title

That’s an amazing write-up. Thank you so much for trying my book, and reviewing it so well!

jenny

jenny

Congrats on finishing the book! :tada: It’s awesome to hear how much you gained from both graphics and C++ sides. Totally agree — early optimizations like multithreading and precomputing heavy operations make a massive difference. Thanks for sharing your experience!

Where Next?

Popular General Dev topics Top

Ted
I picked up Metaprogramming Elixir with the intent of reading it at a later time, once I had a bit more exposure and experience with Elix...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New
joseph-grosso
I finished the book just last month! Super happy with the results. To celebrate I wrote an article and posted about my experience. For a...
New
danilopiazza
A short and sweet book on functional programming, its advantages, and its possible uses. Suitable for beginners on FP or for experienced...
New
belgoros
I’ve been following the books "Agile Web Development with Rails " since Rails 3 version. Sure, I’ll never be grateful enough to the autho...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1050 21151 394
New
PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New