Class RenderPipelineBase

Inheritance Relationships

Derived Types

Class Documentation

class legion::rendering::RenderPipelineBase

Subclassed by legion::rendering::RenderPipeline< Self >, legion::rendering::RenderPipeline< DefaultPipeline >

Public Functions

void abort()
template<typename T>
inline bool has_meta(const std::string &name)
template<typename T, typename ...Args>
inline T *create_meta(const std::string &name, Args&&... args)
template<typename T>
inline T *get_meta(const std::string &name)
template<typename T>
inline bool has_meta(id_type nameHash)
template<typename T, typename ...Args>
inline T *create_meta(id_type nameHash, Args&&... args)
template<typename T>
inline T *get_meta(id_type nameHash)
framebuffer *addFramebuffer(const std::string &name, GLenum target = GL_FRAMEBUFFER)
bool hasFramebuffer(const std::string &name, GLenum target = GL_FRAMEBUFFER)
framebuffer *getFramebuffer(const std::string &name)
framebuffer *addFramebuffer(id_type nameHash, GLenum target = GL_FRAMEBUFFER)
bool hasFramebuffer(id_type nameHash, GLenum target = GL_FRAMEBUFFER)
framebuffer *getFramebuffer(id_type nameHash)
virtual void init(app::window &context) = 0
virtual void render(app::window &context, camera &cam, const camera::camera_input &camInput, time::span deltaTime) = 0

Public Static Functions

static void exit()

Protected Attributes

sparse_map<id_type, framebuffer> m_framebuffers
sparse_map<id_type, std::any> m_metadata
bool m_abort

Protected Static Attributes

static ecs::EcsRegistry *m_ecs
static schd::Scheduler *m_scheduler
static events::EventBus *m_eventBus
static std::atomic_bool m_exiting = {false}