Viz Artist
Version 3.11.0 | Published January 22, 2018 ©
Background Loading
The background loading of Geometries, Materials and Images is supported in Viz Artist (with limitations). Background Loading can either be an automatic or a manual operation.
When background loading Geometries, Use Display Lists in Render Options of the Viz Configuration (see the Viz Engine Administrator Guide) must be set to VBO.
This section contains the following topics:
Automatic Background Loading
When set to perform automatic background loading, Viz Engine automatically uses background loading whenever an image, and/or an object, is loaded. There are some limitations to this behavior, which are detailed in Background Loading Limitations.
Automatic Background Loading Configuration
In the Viz Config file, the option Background_Loading_Level is available to set up automatic background loading.
Available values for Background_Loading_Level are:
Value |
Description |
BGL_INACTIVE |
Disables automatic background loading |
BGL_IMAGES |
Enables automatic background loading for images |
BGL_OBJECTS_AND_IMAGES |
Enables automatic background loading for images, geometries and materials |
Manual Background Loading
Manual background loading can be done on an on demand basis. To do this commands are available to use Container objects:
Command |
Description |
GEOM SETBGL |
Load (and set) a geometry in the background. The usage of the command is exactly the same as the existing GEOM SET command. |
IMAGE SETBGL |
Load (and set) an image in the background. The usage of the command is exactly the same as the existing IMAGE SET command. |
MATERIAL SETBGL |
Load (and set) a material in the background. The usage of the command is exactly the same as the existing MATERIAL SET command. |
Manual Background Loading Configuration
To use manual background loading, the Background_Loading_Level configuration flag in the configuration file must be set to BGL_INACTIVE.
Background Loading Limitations
This section details the limitations of background loading.
Scenes
Background loading of whole Viz Artist Scenes is not supported.
Compressed and Un-compressed Images
Only compressed images (DXT) are supported for background loading. Their mipmap-levels have been pre-generated and stored in the Graphic Hub, which is required for background loading to work properly. The generation of mipmap levels on-demand (as required for un-compressed images) can interrupt the renderer. This primarily depends on the size of the un-compressed images. The larger the image, the more impact on the renderer during background loading.
Objects
Only native geometry and imported third-party geometry objects containing vertex-data, materials and textures are supported targets for background loading. Containers hosting any sort of other plug-in may fail to load in the background. Containers hosting Function plug-ins will NOT be loaded in the background but rather fall back to a normal foreground loading. Containers hosting RTT shaders will interrupt the renderer if the particular RTT shader is used for the first time (shader is being compiled), but will no longer interrupt the renderer when loading the same shader in the background again.
Function Plug-ins
If a geometry, which is to be loaded in the background, contains one or more Function Plug-ins, the console will show a warning and the geometry will not be loaded in the background but in the foreground instead, this can interrupt the renderer.
Image Combining
If a geometry uses the second image (image2) in a texture, this might have an impact on the performance of the renderer. Mostly if one of the images are too large and/or un-compressed.
Black/Transparent Flashing Image Textures
When setting an image with background loading, for technical reasons the renderer will get the handle to a black (or transparent) texture until the first mipmap level of the image is loaded. This can result in a short flash of black (or transparent) texture while background loading textures on a visible object.
Textures Not Visible on SDI Output with Background Loading Enabled
When Viz Trio prepares and takes a scene, it momentarily stops the Viz Engine renderer. If background loading is enabled, this can result in unexpected behavior, such as textures becoming visible only in the preview and not the video output. To avoid this issue when background loading and controlling the engine with UPDATE commands, such as sent by Trio, Viz Engine by default ignores the command RENDERER *UPDATE SET 0. This can be changed by locating the following configuration option in the Viz Configuration file, in the section RENDERER _OPTIONS, and changing the value from 0 to 1:
RendererUpdatesForBackgroundloading =
1
This fixes potential background loading texture issues on the second channel of dual channel setups as well.