AWS Thinkbox Discussion Forums

XMesh deffered loading?

Does Xmesh have a system for deferring loading of meshes in a scene? We have been investigating Xmesh for our studio and wanted to know if this process, in any format, exists currently or do we need to look at developing it ourselves.

Thanks

Can you explain what you envision when you say “deferred loading” ? Loading in the viewport? Loading in the renderer?

The XMesh Loader in 3ds Max has the following options for loading data:

*Viewport loading of the mesh can be completely turned off (“Enable in Viewport” unchecked). So the XMesh will render, but will not show up in the viewport when loading the scene.
*Viewport loading can be switched to display only a bounding box WITHOUT loading any binary data (the bbox is metadata in the header, so it can be read in milliseconds). So you can render million of faces, but only show a bbox in the viewport for quick scene loading.
*Viewport loading can be switched to vertex cloud only - just the vertex list will be read, no other channels (faces, mapping, smoothing) will be loaded. Custom percentage can be set, so for example only 1% of the vertices could be displayed to get an idea of the mesh general shape and location.
*Viewport loading can be switched to faces only - just the vertex and face lists will be read, no other channels, and a custom percentage of the faces could be set.
*On top of that, a separate proxy sequence (for example a very low resolution of a mesh) can be set for viewport display, so you can render 10 million faces in the renderer, but show only 10K faces as a stand-in in the viewport. The source can be switched around to show the full mesh or the proxy mesh in either Viewport or Renderer.

However, at render time the whole mesh has to be loaded. If you are imagining something like vrmesh that loads data based on what voxel a ray will hit, XMesh does not do this (yet).

Please clarify…

Hi Bobo, thank you for the reply and apologies if my post was unclear.

We may have the possibility that we have a scene comprised of many loaders, pulling files in from our server and want to only load the mesh into the scene on demand, either by layer visibility or other method yet to be determined for our pipeline. Although the loader offers functionality for viewport display/control, we want to be able to defer any loading of the mesh until rendering.

The functionality that you have listed in your post may help resolve the current need for our pipeline, I will forward the information to the rest of the dev team.

Thanks very much

When you create an XMesh Loader, you can simply set it to Off In Viewport, or Bounding Box display.
The BBox display will just need to read the header XML file to get the Min. and Max. values from it, so it should be very fast, even over the network.
This setting has no effect on the rendering, so your mesh will still render in full when sent to the farm or rendered locally.

Privacy | Site terms | Cookie preferences