Skin class base Geometry

A skeletal binding used by skinned meshes for animation.

A Skin pairs an ordered list of joints (scene-graph Nodes acting as bones) with the inverseBindMatrices that transform a mesh from model space into each joint's rest-pose local space. The vertex shader combines these with the joints' current transforms to deform the mesh.

Skin instances are usually populated by an importer rather than constructed directly. They are attached to the mesh-bearing Node via Node.skin.

Constructors

Skin()

Properties

hashCode → int
The hash code for this object.
no setterinherited
inverseBindMatrices → List<Matrix4>
The inverse bind matrix for each joint, transforming a vertex from model space into the joint's rest-pose local space.
final
joints → List<Node?>
The bone nodes referenced by this skin, in shader-binding order.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

flushJointsUpload() → void
Uploads the matrices the last getJointsTexture computed, if they are not uploaded yet. On Vulkan an upload is a synchronous submit that waits for the GPU backlog, so the scene runs it only for frames that draw.
getJointsTexture() → Texture
Computes the joint matrices for the current frame into the next ring slot and returns that slot's square RGBA32F GPU texture. The upload waits for flushJointsUpload, so a frame that draws nothing (one that re-presents its previous image) never pays for it.
getPreviousJointsTexture() → Texture
The previous frame's joints texture from the ring, or the current texture on the first frame.
getTextureWidth() → int
The edge length, in texels, of the joints texture produced by getJointsTexture.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited