#3 ✓resolved
lindsay.kay (at xeolabs)

COLLADA Import - automatically insert bounding volumes

Reported by lindsay.kay (at xeolabs) | April 17th, 2010 @ 02:04 AM | in V0.7.3

Have COLLADA parser automatically wrap generated SceneJS.geometry nodes in SceneJS.boundingBox nodes for visibility culling.

This involves having the parser find the extents of geometry vertices. It might even transform them by the modelling transforms specified in the COLLADA, then wrap the SceneJS transform nodes with the boundingBox, or even just transform the vertices there and then and throw out the transforms.

Comments and changes to this ticket

  • lindsay.kay (at xeolabs)

    lindsay.kay (at xeolabs) April 20th, 2010 @ 02:17 AM

    • State changed from “new” to “resolved”

    Solution

    • For this milestone, only one level of boxing is provided per COLLADA file. Each geometry gets a bounding box, regardless of its complexity. To naively generate a hierarchy based on document structure makes risky assumptions about spatial locality. The entire COLLADA file does not get an uber-box because it may contain scattered elements, eg. some geometry that's close to the origin, but distant light sources, or maybe a skybox. Perhaps a top-down algorithm (eg. subdivision) could be implemented for future versions.
    • There was no advantage to be gained in pre-instancing geometry during parsing and pulling bounding boxes up to enclose their instancing transformations - SceneJS is optimised to handle handle static transforms by memoising matrices, where there is no matrix computation to be avoided with the bounding box there anyway.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

SceneJS provides easy access to WebGL through a simple and declarative JavaScript API. The SceneJS API is functional, which enables its scene definitions to be really compact and expressive, while hooking into other JavaScript code just that little bit more smoothly.

Shared Ticket Bins

People watching this ticket

Pages