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

axelson
I’ve been really enjoying obsidian.md: It is very snappy (even though it is based on Electron). I love that it is all local by defaul...
New
AstonJ
Or looking forward to? :nerd_face:
483 11975 256
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
AstonJ
Saw this on TikTok of all places! :lol: Anyone heard of them before? Lite:
New
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
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