Implement O(n) frustum culling and visibility sphere integration

  • Implement brute-force O(n) frustum culling during scene graph traversal.
  • Integrate visibility sphere calculation into Chef for both static and skinned meshes.
  • Implement Gribb-Hartmann frustum plane extraction in the Render class.
  • Update Node3d to handle world-space visibility sphere transformations.
  • Refactor Chef mesh loading and extraction logic for better modularity.
  • Ensure lights and socketed items have appropriate visibility metadata.
  • Optimize Render to skip compute shader dispatches when no effects are active.

Yesterday I tried to implement an octree for frustum culling. But after some back and forth, I realized that probably just an O(n) sweep through all nodes is going to be very fast. I am not planning to have more than 5k nodes in the scene, so just brute force should be good enough. I stashed the octree implementation for the future, just in case. I am planning to have procedural dungeons, and it may blow up my node count.

Next - Previous