Implementing OBBs has been put on hold indefinitely.
The major thing holding back OBBs is the implementation of a 3D Convex Hull. While a workable 3D Convex Hull could be implemented rather quickly (like ConvexHull2D), a better solution would involve creating and supporting a full range of Half-Edge data structures and operations.
While the basic structures are already in (see Math/Geometry/HalfEdge), I am left to contemplate their role in Ocular as a whole. Will the Half-Edge system be used only on a need-by-need basis, as with the Convex Hulls, or will it be adopted throughout the entire engine?
3D Convex Hulls, and consequently OBBs, will have to be put on hold until I figure out what direction I want to take the geometry system as a whole.
Fortunately, OBBs were not critical to the 0.3 or any other near-term milestones as all bounding functionality was already planning to use AABBs and Spheres. However, I feel Ocular would be diminished if OBBs, or Convex Hulls, are never implemented and so this issue will need to be returned to one day.
Implementing OBBs has been put on hold indefinitely.
The major thing holding back OBBs is the implementation of a 3D Convex Hull. While a workable 3D Convex Hull could be implemented rather quickly (like
ConvexHull2D
), a better solution would involve creating and supporting a full range of Half-Edge data structures and operations.While the basic structures are already in (see
Math/Geometry/HalfEdge
), I am left to contemplate their role in Ocular as a whole. Will the Half-Edge system be used only on a need-by-need basis, as with the Convex Hulls, or will it be adopted throughout the entire engine?3D Convex Hulls, and consequently OBBs, will have to be put on hold until I figure out what direction I want to take the geometry system as a whole.
Fortunately, OBBs were not critical to the 0.3 or any other near-term milestones as all bounding functionality was already planning to use AABBs and Spheres. However, I feel Ocular would be diminished if OBBs, or Convex Hulls, are never implemented and so this issue will need to be returned to one day.