candlewick 0.7.0-59-g23c6
A tiny cross-platform renderer based on SDL3
Loading...
Searching...
No Matches
candlewick::DebugScene Class Reference

Scene for organizing debug entities and render systems. More...

#include <candlewick/core/DebugScene.h>

Public Types

enum  { TRANSFORM_SLOT = 0 }
 
enum  { COLOR_SLOT = 0 }
 

Public Member Functions

 DebugScene (entt::registry &registry, const RenderContext &renderer)
 
 DebugScene (const DebugScene &)=delete
 
DebugSceneoperator= (const DebugScene &)=delete
 
 DebugScene (DebugScene &&other)
 
DebugSceneoperator= (DebugScene &&)=delete
 
const Devicedevice () const noexcept
 
entt::registry & registry ()
 
const entt::registry & registry () const
 
template<std::derived_from< IDebugSubSystem > System, typename... Args>
System & addSystem (Args &&...args)
 Add a subsystem (IDebugSubSystem) to the scene.
 
std::tuple< entt::entity, DebugMeshComponent & > addTriad (const Float3 &scale=Float3::Ones())
 Just the basic 3D triad.
 
std::tuple< entt::entity, DebugMeshComponent & > addLineGrid (const Float4 &color=Float4::Ones())
 Add a basic line grid.
 
void update ()
 
void render (CommandBuffer &cmdBuf, const Camera &camera) const
 
void release ()
 
 ~DebugScene ()
 

Detailed Description

Scene for organizing debug entities and render systems.

This implements a basic render system for DebugMeshComponent.

This scene and all subsystems are assumed to use the same shaders and pipelines.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
COLOR_SLOT 

◆ anonymous enum

anonymous enum
Enumerator
TRANSFORM_SLOT 

Constructor & Destructor Documentation

◆ DebugScene() [1/3]

candlewick::DebugScene::DebugScene ( entt::registry & registry,
const RenderContext & renderer )

◆ DebugScene() [2/3]

candlewick::DebugScene::DebugScene ( const DebugScene & )
delete

◆ DebugScene() [3/3]

candlewick::DebugScene::DebugScene ( DebugScene && other)

◆ ~DebugScene()

candlewick::DebugScene::~DebugScene ( )
inline

Member Function Documentation

◆ addLineGrid()

std::tuple< entt::entity, DebugMeshComponent & > candlewick::DebugScene::addLineGrid ( const Float4 & color = Float4::Ones())

Add a basic line grid.

Parameters
colorGrid color.

◆ addSystem()

template<std::derived_from< IDebugSubSystem > System, typename... Args>
System & candlewick::DebugScene::addSystem ( Args &&... args)
inline

Add a subsystem (IDebugSubSystem) to the scene.

◆ addTriad()

std::tuple< entt::entity, DebugMeshComponent & > candlewick::DebugScene::addTriad ( const Float3 & scale = Float3::Ones())

Just the basic 3D triad.

◆ device()

const Device & candlewick::DebugScene::device ( ) const
inlinenoexcept

◆ operator=() [1/2]

DebugScene & candlewick::DebugScene::operator= ( const DebugScene & )
delete

◆ operator=() [2/2]

DebugScene & candlewick::DebugScene::operator= ( DebugScene && )
delete

◆ registry() [1/2]

entt::registry & candlewick::DebugScene::registry ( )
inline

◆ registry() [2/2]

const entt::registry & candlewick::DebugScene::registry ( ) const
inline

◆ release()

void candlewick::DebugScene::release ( )

◆ render()

void candlewick::DebugScene::render ( CommandBuffer & cmdBuf,
const Camera & camera ) const

◆ update()

void candlewick::DebugScene::update ( )
inline

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