Learn more collision detection! I had already worked on some basic collision code at my previous job but there were a lot of topics I didn't explore.
Write more C++, especially modern C++! Modern C++ is pretty different from the more old-school C++ I wrote in college and Sandia National Laboratories.
Play around with multithreading and performance profiling!
I started writing this after I had put some work into it so it's not a complete progress log, but here goes.
September 29, 2026
Big progress on some basic 3D intersections! Most importantly, closest-point to axis-aligned bounding box (AABB), oriented bounding box (OBB) and triangle.
In this demo I've set up some AABBs as walls, plus a triangle, and drew lines to the closest point on the AABBs and triangles to the player.
The triangle one was a bit of a doozy to try to work out even with the textbook's help, and I'm still debugging it.
Lastly, left clicking sends a ray out in the direction the camera is facing and then checks if it's intersecting the blue box.
September 10, 2026
I implemented oriented bounding boxes, OBBs, plus some code that calculates a minimal axis-aligned bounding box given an oriented bounding box. It's a bit scuffed because I made OBBs just 2d quadrilaterals, Quad2.
In this animation I have a polygon in pink. I calculated an axis-aligned bounding box (AABB), the blue box, in the polygon's local space, that contains the polygon.
As I rotate the polygon, the axis-aligned bounding box rotates which makes it an OBB, in green. Then I calculate a minimal AABB, orange that contains the OBB in green. As the polygon and its oriented bounding box rotate, the orange AABB shifts to contain the green OBB.