Input Streams: Mesh Stream (Stabilized)
Output Streams: Mesh Stream with SSDR compression
The SSDR Stage is a compression step that can be added to any Track with a stabilized mesh stream.
SSDR compression can produce significant file size reduction, with only slight loss of precision in vertex position.
SSDR is driven by rigging data called Bones, just like the Skeletonization Stage. Settings are provided to drive the target bone count of an SSDR Stage, and the amount of iterations used to produce a good SSDR result.
Target Bone Count: The maximum number of SSDR bones to use for this Track. Reducing the maximum bone count will speed up the SSDR algorithm at the risk of higher error. For most cases, the default value of 32 is adequate, and higher values should only be used if your clip contains very long, very complex Segments. Note that currently, 128 is the maximum supported value. Default: 32
During playback, there is a limit of 128 bones per OMS Player, so when composing a Multi-Track OMS, all Tracks combined cannot exceed this limit.
Initialization iterations: The number of iterations the SSDR algorithm uses to set initial bone positions. Higher values may produce better results, but will increase processing time significantly. Default: 50
Refinement Iterations: The maximum number of iterations the SSDR algorithm uses to refine bone placement and skin weighting. A very low setting might improve processing time but significantly worsen the result. Default: 50
Working with SSDR¶
SSDR, short for “Smooth Skinning Decomposition with Rigid Bones”, is a kind of mesh based compression you can apply in HoloEdit. For each segment, SSDR expresses the set of frames as a single keyframe and numerous in-between frames. Instead of each in-between frame being a separate set of points, the in-between frame’s points points are encoded as linearly blended offsets from the keyframe, and stored as a skeletal animation that can be efficiently decoded on the GPU during playback.
Mesh Streams with SSDR are ideal for OMS Playback. They are not only smaller, but are also more performant in terms of amortized disk access, decoding and rendering. However, playback with SSDR has a slightly higher worst case per-frame IO cost, and uses a more expensive vertex shader (which is typically not a bottleneck).