Computer Graphics: Started going through Ray Tracing Gems Part 1. Just got through the introductory section, will dive a bit deeper this week. The week before we had gotten planes working in the ray tracer, this week looked into bounded planes – the simplest case of which is triangles. From triangles was able to build cubes. It’s not perfect though, for metal and dielectric surfaces, the ray seems to be trapped inside – resulting in black cubes.
Competitive Programming: Not much progress here this week. Missed the Codeforces round held this week. Had an interesting coincidence this week – I just watched Episode 0 of Algorithms Weekly related to Binary Indexed Trees (BIT), and there’s an explanation of using the BIT array values directly to do a binary search (as opposed to doing a binary search, and then BIT lookups). This optimization helped me solve War Games 2.1 on the Timus Judge. That problem is a stricter version of War Games 2 (which I also solved this week).
Drawing: Continuing gesture practice. Had a crack at the Rotating boxes exercise on Drawabox. Also spent some time trying to construct figures from boxes.
GameDev: Started playing around with Godot again. This video inspired me to try out a “juicy” breakout. Still need to add a few more effects, but it looks pretty decent.
Books: Picked up an interesting book – You are Not So Smart by David McRaney. After another losing streak at Dota, I started suspecting maybe I was overestimating my skill. That led me to this thread about Dota and Dunning Kruger, and I wanted to know more.