MeshSkinnedVertexShader class final

mesh_skinned.vert: the mesh stage with a joint blend in front of it.

The skinned layout is the standard one with joints and weights appended, so the first sixteen floats are read at the same offsets as mesh.vert reads them. The weights are renormalised, and a vertex is morphed in the rest pose before it is skinned.

Inheritance

Constructors

MeshSkinnedVertexShader()
Keeps no state, so one const instance serves every draw; builtinCpuShaders files it under MeshSkinnedVertex.
const

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
varyingCount → int
How many floats of varying this stage writes, so the rasteriser knows how much to interpolate.
no setteroverride

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run(Float32List a, ShaderBindings bindings, Float32List out) → Vector4
Reads attributes — the vertex, as the engine laid it out — and writes a clip-space position plus varyings.
override
runAt(int vertexIndex, int instanceIndex, Float32List a, ShaderBindings bindings, Float32List out) → Vector4
The same as CpuVertexShader.run, plus the vertex's and the instance's own indices.
override
toString() → String
A string representation of this object.
inherited

Operators

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

Static Methods

jointIndex(double joint) → int
JointIndex in mesh_skinned.vert and velocity_skinned.vert: joint truncated and kept inside the palette, so a JOINTS_0 value past the end reads the last (padding) slot, as the GPU does.

Constants

maxJoints → const int
The palette size, kMaxJoints in the skinned shaders.