ssell / OcularEngine

Ocular Rendering Engine
http://www.ocularengine.com
Apache License 2.0
7 stars 6 forks source link

Implement Oriented Bounding Box #74

Closed ssell closed 9 years ago

ssell commented 9 years ago

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.