WGSLVec3Uniform

← prev index next →

Feeds an animatable vec3<f32> into your custom WGSL shader — the way to hand shader code a live 3D value such as a direction, a world-space position, or an RGB color.

Remarks

This is the three-component member of the shader-input family that belongs to the compute & custom-WGSL concept (AbstractComputeNode); like ColorStop it is itself a SkenraAnimatable. The vector type lives in the TAG (never a type attribute), and each component change repacks the host's GPU buffer slot with no shader rebuild.

Key attributes. name is the non-animatable WGSL identifier (unique per host). x, y, and z are the three independent, animatable component axes. The packed lanes start on a vec4 boundary (std140 vec3 alignment — a following scalar may still use the fourth lane), and the host generates a skUniform_<name>() -> vec3<f32> accessor so the shader reads the whole vector by name.

Related. It is a child of any custom-WGSL host — sk-custom-wgsl-color-source, sk-custom-wgsl-points-source, sk-custom-wgsl-point-constraint, sk-custom-wgsl-spline-source, or sk-compute-node. For a single value use sk-wgsl-uniform; for other widths use sk-wgsl-vec2-uniform, sk-wgsl-vec4-uniform, or the sk-wgsl-f32-array-uniform; for a colour authored as a string use sk-wgsl-color-uniform.

Constructor

constructor()

Properties

Other Properties

PropertyTypeDefaultDescriptionDeclared by
xanimatable number 0 Gets the x component, returning the animated value when animating. WGSLVec3Uniform
yanimatable number 0 Gets the y component, returning the animated value when animating. WGSLVec3Uniform
zanimatable number 0 Gets the z component, returning the animated value when animating. WGSLVec3Uniform
name string "" Gets the WGSL identifier this member is addressed by. AbstractWGSLUniformMemberElement
sceneread-only any Gets the Scene this animatable belongs to, if any. SkenraAnimatable
animationsread-only SkenraAnimation[] Public getter for the animations affecting this target. SkenraAnimatable

Methods

MethodDescriptionDeclared by
animate(firstArg: TypedKeyframe<this>[] | TypedPropertyIndexedKeyframes<this> | Record<string, any> | globalThis.Keyframe[] | globalThis.PropertyIndexedKeyframes | null, secondArg?: number | KeyframeAnimationOptions | globalThis.KeyframeAnimationOptions): SkenraAnimation & Animation Creates a new SkenraAnimation for this target per Web Animations API. SkenraAnimatable
removeAnimation(animation: SkenraAnimation): boolean Removes a specific animation from this object. SkenraAnimatable
constrain(type: K, config: ConstraintConfigMap[K]): ConstraintReturnMap[K] Creates a constraint on this Animatable using a fluent API. SkenraAnimatable

Example

const u = document.createElement('sk-wgsl-vec3-uniform') as WGSLVec3Uniform;
u.name = 'direction';
u.y = 1;