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

Builds the per-frame Visibility result (every scene mesh, and which of them the camera sees). More...

#include <visibility_system.h>

Inheritance diagram for Vkm::Engine::VisibilitySystem:
Vkm::Engine::System

Public Member Functions

void update (FrameContext &ctx) override
 Execute this system for the current frame.
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.
virtual void fixedUpdate (FrameContext &ctx)
 Execute this system at the fixed simulation rate.

Detailed Description

Builds the per-frame Visibility result (every scene mesh, and which of them the camera sees).

Runs after the Transform stage, whose world transforms it culls. Views through FrameContext::hostView when offered, else the active camera; culls every Mesh in parallel (frustum -> distance -> screen size) and publishes on FrameContext::visibility. Every drawable mesh is also gathered, seen or not, so off-screen occluders and offline captures survive frustum culling.

Member Function Documentation

◆ update()

void Vkm::Engine::VisibilitySystem::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.


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