Bug 1274 - Scenes that contain 100% dynamic geometry produces an empty/invalid bounding box
Summary: Scenes that contain 100% dynamic geometry produces an empty/invalid bounding box
Status: ASSIGNED
Alias: None
Product: DIRSIG5
Classification: Unclassified
Component: Scene2Hdf (show other bugs)
Version: 5.0.10
Hardware: Intel x86-64 Windows 64-bit
: P3 normal
Assignee: Scott D. Brown
URL:
Depends on:
Blocks:
 
Reported: 2019-05-14 12:31 EDT by David Allen
Modified: 2020-07-28 15:15 EDT (History)
1 user (show)

See Also:


Attachments
simple test scene (439.98 KB, application/x-zip-compressed)
2019-05-14 12:31 EDT, David Allen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Allen 2019-05-14 12:31:02 EDT
Created attachment 416 [details]
simple test scene

DIRSIG4 (4.7.5 r17770) renders successfully
Scene2HDF (4.7.5 r18108) runs successfully
DIRSIG5 (5.0.10 r2768M) fails.

I suspect it has something to do with dynamic instancing and/or external motion data.

Attached is my test scene - reduced to one object.

Error returned:

0 0 0
0 0 0

Error in CD::SceneManager::addScene... 
Exception:

CDScene.cpp:58: error: Scene
  Invalid scene bounding box!
Unable to read XML simulation file!

Unable to read input simulation file!
    Filename = HDF_not_rendering.sim
Comment 1 Scott D. Brown 2019-05-14 12:36:18 EDT
I didn't download an look yet. Is the scene 100% dynamic content?
Comment 2 David Allen 2019-05-14 12:38:45 EDT
Yes
Comment 3 David Allen 2019-05-14 12:40:40 EDT
A single dynamic object.

If I remember right, loading a staticinstance WITH the dynamicinstance - it will render. But I don't think the staticinstance is visible.
Comment 4 David Allen 2019-05-14 12:42:53 EDT
sorry...the dynamicinstance isn't visible - staticinstance will render
Comment 5 Scott D. Brown 2019-05-14 12:44:14 EDT
I have seen this before. We don't set the scene HDF bounding box correctly if the entire scene is dynamic. I will see if we can address that.
Comment 6 David Allen 2019-05-14 13:31:26 EDT
I can add a staticinstance somewhere off camera in the meantime.

Incidentally, putting the staticinstance TOO far off camera like, 10,000,000 meters returns a similar bounding box error - this time TOO big I suspect.

error:

-3.58528    1e+07 -2.16414
-3.26086    1e+07  -1.8812

Error in CD::SceneManager::addScene... 
Exception:

CDScene.cpp:58: error: Scene
  Invalid scene bounding box!
Unable to read XML simulation file!

Unable to read input simulation file!
    Filename = HDF_not_rendering.sim
Comment 7 David Allen 2019-06-18 13:30:08 EDT
"I can add a staticinstance somewhere off camera in the meantime."

MAKE SURE... the static instance is called to by another glist in the scene file - calling a static instance in the same glist as the dynamic instance will return same error.
Comment 8 David Allen 2019-06-18 13:31:12 EDT
"I can add a staticinstance somewhere off camera in the meantime."

MAKE SURE... the static instance is called to by another glist in the scene file - calling a static instance in the same glist as the dynamic instance will return same error.
Comment 9 Scott D. Brown 2019-06-18 13:34:40 EDT
The challenge here is what to do with "open ended" dynamic motion. For example, the motion could be something like the FlexMotion "straight" engine, which starts at a location and travels along a heading until the end of time. In that case the bounding box is infinite.

I will make sure Adam and I revisit this in one of our "big picture" discussions sometime soon.
Comment 10 Adam Goodenough 2019-06-18 14:06:35 EDT
This is one of those things that we've been putting off for a while. Currently dynamics are more or less attached to a static scene, but we really want them to be completely independent (e.g. a cloud doesn't really belong to a specific scene). We need to address this with a broader solution to multiple scenes and how dynamics are defined and interact with them (specifically not tying dynamics to a particular bounding box for reasons Scott mentioned).
Comment 11 David Allen 2019-06-19 12:56:43 EDT
In the meantime, as a workaround - make sure the height/width/depth of the static object fully encompasses the motion paths of the volumes that are dynamic - or at least for the confines you are interested in rendering the objects. I had made the mistake of just adding an object down one axis (off camera). But what I really needed was objects down XYZ (+/-) in order to have a bounding box that covered the entire extent of animation (approx. 2km-3km on the ground plane). Without these steps, my geometry doesn't have an appropriately sized bounding box to cast rays.