In addition to cloud rendering, Iray Bridge also supports saving very efficient scene snapshots on the server. The snapshots are saved as very small files using the extension .cb and can be imported just like normal files from the server host where they were saved, as long as the cb importer plugin is loaded. Snapshots can be used for off-line batch rendering and can be either full or incremental. Incremental snapshots are ideal for batch rendering of animations since the import of each incremental snapshot will only update a few scene elements and then the next frame can be rendered without having to pay for the extra overhead that is incurred by loading and rendering a new scene.
Iray Bridge snapshots are created on the client by using a snapshot context. The snapshot context is designed to work analogous to an Iray Bridge render context, except that instead of rendering it will create snapshots on the server. The snapshot context will also automatically upload any required data to the server, only sending data that has changed since the last saved snapshot and also only sending data that is not already available in the server-side data cache. The snapshot context fires the exact same progress areas as the Iray Bridge render contexts when uploading data.
Snapshot contexts are created by looking up the mi::bridge::IIray_bridge_client API component and calling create_snapshot_context() which returns a mi::bridge::IIray_bridge_snapshot_context instance. This instance will be tied to the scene and the scope of the transaction it was created with and snapshots can be created by calling create_snapshot().
Snapshot data is saved in the data cache configured for the Iray Bridge application on the server, and the snapshot file with the extension .cb is stored in the server-side folder configured for the Iray Bridge application. The .cb file contains the ID of the snapshot and the address or path to the data cache where the data is stored. The .cb file can normally only be imported from the same host where it was saved.