-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for 3DTILES_bounding_volume_cylinder
#1111
Conversation
I also should explicitly note that for efficiency / time reasons, the underlying implementation of I had actually added cylinder-specific math to the compute distance function (derived from this paper) in this (e5e323f). Unfortunately I had to remove it when I remembered that we're often dealing with cylinder subregions instead of the full cylinder. The math might carry over still but I haven't worked it out. |
@lilleyse and I are reworking the spec here: CesiumGS/3d-tiles#791 Once that's merged in, I'll make changes here accordingly |
I'm marking this as ready for review. The |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments (mostly nitpicking include style), but overall looks great!
Thanks for the thorough review @kring ! I think I addressed all your comments, let me know if anything else comes up. |
Thanks @j9liu! |
Depends on #1104 so merge that first. But I'm going to mark this as a draft PR because I think there's a spec question to be had.
This PR adds support for the
3DTILES_bounding_volume_cylinder
extension found here. The extension is mainly used to support cylinder voxels in the3DTILES_content_voxels extension
.The cylinder is meant to be combined with implicit octree tiling, but that results in some weirdness for the
BoundingCylinder
implementation. When other volumes are subdivided (e.g. box, region) they are still the same shape. But the sub-regions of a cylinder are only parts of a cylinder, not fully cylinders itself. The3DTILES_bounding_volume_cylinder
extension does not currently indicate a way to divide that initial cylinder.The thing to do here, regardless of spec, is probably to rename
BoundingCylinder
->BoundingCylinderRegion
, to more accurately indicate that the volume may be a subregion of the fully cylinder. And that way, the division of aBoundingCylinderRegion
into sub-regions is logically correct. But I'm wondering if the3DTILES_bounding_volume_cylinder
should also allow angular / radial portions itself? Or, will we restrict it to being a full cylinder, but note that implementations should be wary of handling subregions with angular / radial bounds.