Skip to content
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

Inconsistent bounding boxes in USD #1024

Closed
huidong-chen opened this issue Nov 5, 2019 · 1 comment
Closed

Inconsistent bounding boxes in USD #1024

huidong-chen opened this issue Nov 5, 2019 · 1 comment

Comments

@huidong-chen
Copy link

huidong-chen commented Nov 5, 2019

Description of Issue

There are two versions of bounding boxes in USD and they are inconsistent.

  • Selection bounding box: the bounding box is calculated from the local bounding box and the local-to-world transformation. It looks correct and easy to validate since it can be visualized in USDView.

  • Frustum-culling bounding box: the bounding box is exactly the same as the selection bounding box for regular meshes, but for built-in primitives like cone, sphere, cylinder etc, the transformation is the the result of local-to-world transformation multiplied with a "mesh transformation". As a result, the world bounding box will be incorrect, and causing view frustum intersection test to return false result, while false positive will lead to unnecessary draw call, and false negative will lead to object disappearance.

The issue was originally reported on usd-interest: https://groups.google.com/forum/#!topic/usd-interest/I16VT5n4XkE

Steps to Reproduce

Please open InvalidBBox.zip to see the usda scene and the video on how to reproduce the issue.

System Information (OS, Hardware)

Non platform-specific

Package Versions

All

Build Flags

Default

@jilliene
Copy link

jilliene commented Nov 5, 2019

Filed as internal issue #USD-5678

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants