candlewick 0.1.0
A renderer
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 Renderer &renderer)
 
 DebugScene (const DebugScene &)=delete
 
DebugSceneoperator= (const 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.
 
void setupPipelines (const MeshLayout &layout)
 Setup pipelines; this will only have an effect ONCE.
 
std::tuple< entt::entity, DebugMeshComponent & > addTriad ()
 Just the basic 3D triad.
 
std::tuple< entt::entity, DebugMeshComponent & > addLineGrid (std::optional< Float4 > color=std::nullopt)
 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.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
COLOR_SLOT 

◆ anonymous enum

anonymous enum
Enumerator
TRANSFORM_SLOT 

Constructor & Destructor Documentation

◆ DebugScene() [1/2]

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

◆ DebugScene() [2/2]

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

◆ ~DebugScene()

candlewick::DebugScene::~DebugScene ( )
inline

Member Function Documentation

◆ addLineGrid()

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

Add a basic line grid.

◆ 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 ( )

Just the basic 3D triad.

◆ device()

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

◆ operator=()

DebugScene & candlewick::DebugScene::operator= ( const 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

◆ setupPipelines()

void candlewick::DebugScene::setupPipelines ( const MeshLayout & layout)

Setup pipelines; this will only have an effect ONCE.

◆ update()

void candlewick::DebugScene::update ( )
inline

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