vkmEngine 1.0.0
A C++ game engine · vkmengine.com
Loading...
Searching...
No Matches
Vkm::Engine::SkeletalAnimationSystem Class Reference

Poses every rig in the scene and publishes the result on FrameContext::poses. More...

#include <skeletal_animation_system.h>

Inheritance diagram for Vkm::Engine::SkeletalAnimationSystem:
Vkm::Engine::System

Public Member Functions

void update (FrameContext &ctx) override
 Execute this system for the current frame.
void fixedUpdate (FrameContext &ctx) override
 Execute this system at the fixed simulation rate.
Public Member Functions inherited from Vkm::Engine::System
virtual bool isReplayed () const
 Whether this system may be re-run over a tick that already happened.
virtual void init (FrameContext &ctx)
 Called once after all systems are registered, before the first update.
virtual void shutdown ()
 Called once on engine shutdown.

Detailed Description

Poses every rig in the scene and publishes the result on FrameContext::poses.

Runs in SystemStage::Simulation, since it advances clip time, ahead of whatever reads FrameContext::poses, and writes no Transform. Only the evaluation is parallel; marker announcement is serial, because the EventBus is main-thread only.

Time advances on the tick. The pose is also composed every paused frame, so a scrubbed Animator shows its pose, and on the first frame after the world is replaced, because the buffer maps entity slots the new world reuses. Composition is idempotent.

Member Function Documentation

◆ update()

void Vkm::Engine::SkeletalAnimationSystem::update ( FrameContext & ctx)
overridevirtual

Execute this system for the current frame.

Parameters
ctxThis frame's services and the products published so far.

Reimplemented from Vkm::Engine::System.

◆ fixedUpdate()

void Vkm::Engine::SkeletalAnimationSystem::fixedUpdate ( FrameContext & ctx)
overridevirtual

Execute this system at the fixed simulation rate.

Called 0+ times per frame; the step is ctx.clock.getFixedStep().

Runs before any producer stage, so ctx.visibility and ctx.ui are null here. ctx.poses is set by SkeletalAnimationSystem's own fixedUpdate, so a later Simulation system reads this tick's pose.

Parameters
ctxThis frame's services; see above for which products are set.

Reimplemented from Vkm::Engine::System.


The documentation for this class was generated from the following file: