Diligent Engine
Loading...
Searching...
No Matches
Diligent::RadientAnimationChannelDesc Struct Reference

#include <RadientAnimation.h>

Public Attributes

Uint32 TargetIndex = InvalidRadientAnimationTargetIndex
RadientAnimationPropertyID Property = InvalidRadientAnimationPropertyID
Uint32 FirstArrayElement = 0
Uint32 SamplerIndex = InvalidRadientAnimationSamplerIndex

Detailed Description

Connects one clip sampler to a property of one symbolic target.

The sampler value type and array length must be compatible with the target property. FirstArrayElement enables a sampler to address a contiguous range within an array property, such as all or part of a morph-weight array. Creation validates indices, range overflow, overlap, and consistent native types among ranges of one target/property. Whether the property exists and accepts the sampler layout is intentionally validated later, when binding.

Member Data Documentation

◆ FirstArrayElement

Uint32 Diligent::RadientAnimationChannelDesc::FirstArrayElement = 0

First destination array element addressed by this channel. The channel covers the half-open range [FirstArrayElement, FirstArrayElement + RadientAnimationClipDesc::pSamplers[SamplerIndex].Value.ArraySize). This is normally zero for a non-array property. Elements are complete native values, so one FLOAT3 occupies one array element rather than three.

For example, a FLOAT sampler with ArraySize 4 and FirstArrayElement 8 addresses morph weights [8, 12). Another channel may address [12, 16), but [10, 14) would overlap and is invalid.

◆ Property

RadientAnimationPropertyID Diligent::RadientAnimationChannelDesc::Property = InvalidRadientAnimationPropertyID

Nonzero property identifier interpreted in the namespace of RadientAnimationClipDesc::pTargets[TargetIndex].Schema. Property IDs only need to be unique and stable within their schema; the same numeric ID may mean something else in another schema.

◆ SamplerIndex

Uint32 Diligent::RadientAnimationChannelDesc::SamplerIndex = InvalidRadientAnimationSamplerIndex

Zero-based index into RadientAnimationClipDesc::pSamplers. Must be less than RadientAnimationClipDesc::SamplerCount. Multiple compatible channels may share one sampler by using the same index.

◆ TargetIndex

Uint32 Diligent::RadientAnimationChannelDesc::TargetIndex = InvalidRadientAnimationTargetIndex