SkinningBuffer

actual class SkinningBuffer

SkinningBuffer is used to hold skinning data (bones) for skeletal animation.

SkinningBuffer is a simple wrapper around a structured Uniform Buffer Object (UBO) that stores bone transformations. It is used by RenderableManager to deform vertices according to bone transformations and weights during skeletal animation (rigged animations).

Important constraint: Due to GLSL limitations, the SkinningBuffer size must always be a multiple of 256 bones. The builder automatically adjusts the requested bone count to meet this requirement, which may cause some memory overhead. This overhead can be mitigated by using the same SkinningBuffer to store bone information for multiple RenderPrimitives.

See also

expect class SkinningBuffer

SkinningBuffer is used to hold skinning data (bones) for skeletal animation.

SkinningBuffer is a simple wrapper around a structured Uniform Buffer Object (UBO) that stores bone transformations. It is used by RenderableManager to deform vertices according to bone transformations and weights during skeletal animation (rigged animations).

Important constraint: Due to GLSL limitations, the SkinningBuffer size must always be a multiple of 256 bones. The builder automatically adjusts the requested bone count to meet this requirement, which may cause some memory overhead. This overhead can be mitigated by using the same SkinningBuffer to store bone information for multiple RenderPrimitives.

See also

actual class SkinningBuffer

SkinningBuffer is used to hold skinning data (bones) for skeletal animation.

SkinningBuffer is a simple wrapper around a structured Uniform Buffer Object (UBO) that stores bone transformations. It is used by RenderableManager to deform vertices according to bone transformations and weights during skeletal animation (rigged animations).

Important constraint: Due to GLSL limitations, the SkinningBuffer size must always be a multiple of 256 bones. The builder automatically adjusts the requested bone count to meet this requirement, which may cause some memory overhead. This overhead can be mitigated by using the same SkinningBuffer to store bone information for multiple RenderPrimitives.

See also

actual class SkinningBuffer

SkinningBuffer is used to hold skinning data (bones) for skeletal animation.

SkinningBuffer is a simple wrapper around a structured Uniform Buffer Object (UBO) that stores bone transformations. It is used by RenderableManager to deform vertices according to bone transformations and weights during skeletal animation (rigged animations).

Important constraint: Due to GLSL limitations, the SkinningBuffer size must always be a multiple of 256 bones. The builder automatically adjusts the requested bone count to meet this requirement, which may cause some memory overhead. This overhead can be mitigated by using the same SkinningBuffer to store bone information for multiple RenderPrimitives.

See also

actual class SkinningBuffer

SkinningBuffer is used to hold skinning data (bones) for skeletal animation.

SkinningBuffer is a simple wrapper around a structured Uniform Buffer Object (UBO) that stores bone transformations. It is used by RenderableManager to deform vertices according to bone transformations and weights during skeletal animation (rigged animations).

Important constraint: Due to GLSL limitations, the SkinningBuffer size must always be a multiple of 256 bones. The builder automatically adjusts the requested bone count to meet this requirement, which may cause some memory overhead. This overhead can be mitigated by using the same SkinningBuffer to store bone information for multiple RenderPrimitives.

See also

Types

Link copied to clipboard
actual class Builder

Builder for creating SkinningBuffer instances.

expect class Builder

Builder for creating SkinningBuffer instances.

actual class Builder

Builder for creating SkinningBuffer instances.

actual class Builder

Builder for creating SkinningBuffer instances.

actual class Builder

Builder for creating SkinningBuffer instances.

Properties

Link copied to clipboard
actual val boneCount: Int

Gets the number of bones in this buffer.

expect val boneCount: Int

Gets the number of bones in this buffer.

actual val boneCount: Int

Gets the number of bones in this buffer.

actual val boneCount: Int

Gets the number of bones in this buffer.

actual val boneCount: Int

Gets the number of bones in this buffer.

Link copied to clipboard
val nativeSkinningBuffer: SkinningBuffer

Functions

Link copied to clipboard
actual fun setBonesAsMatrices(engine: Engine, matrices: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount).

expect fun setBonesAsMatrices(engine: Engine, matrices: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount).

actual fun setBonesAsMatrices(engine: Engine, matrices: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount).

actual fun setBonesAsMatrices(engine: Engine, matrices: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount).

actual fun setBonesAsMatrices(engine: Engine, matrices: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount).

Link copied to clipboard
actual fun setBonesAsQuaternions(engine: Engine, bones: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount) using quaternion+translation format.

expect fun setBonesAsQuaternions(engine: Engine, bones: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount) using quaternion+translation format.

actual fun setBonesAsQuaternions(engine: Engine, bones: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount) using quaternion+translation format.

actual fun setBonesAsQuaternions(engine: Engine, bones: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount) using quaternion+translation format.

actual fun setBonesAsQuaternions(engine: Engine, bones: FloatArray, boneCount: Int, offset: Int)

Updates bone transforms in the range [offset, offset + boneCount) using quaternion+translation format.