Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
Renderer::Backend::GL::CFramebuffer Class Referencefinal

#include <Framebuffer.h>

Inheritance diagram for Renderer::Backend::GL::CFramebuffer:
Collaboration diagram for Renderer::Backend::GL::CFramebuffer:

Public Member Functions

 ~CFramebuffer () override
 
IDeviceGetDevice () override
 
const CColorGetClearColor () const override
 Returns a clear color for all color attachments of the framebuffer. More...
 
uint32_t GetWidth () const override
 
uint32_t GetHeight () const override
 
GLuint GetHandle () const
 
GLbitfield GetAttachmentMask () const
 
AttachmentLoadOp GetColorAttachmentLoadOp () const
 
AttachmentStoreOp GetColorAttachmentStoreOp () const
 
AttachmentLoadOp GetDepthStencilAttachmentLoadOp () const
 
AttachmentStoreOp GetDepthStencilAttachmentStoreOp () const
 
virtual const CColorGetClearColor () const =0
 Returns a clear color for all color attachments of the framebuffer. More...
 
virtual uint32_t GetWidth () const =0
 
virtual uint32_t GetHeight () const =0
 
- Public Member Functions inherited from Renderer::Backend::IDeviceObject< IFramebuffer >
virtual ~IDeviceObject ()
 
virtual IDeviceGetDevice ()=0
 
TAs ()
 

Private Member Functions

 CFramebuffer ()
 

Static Private Member Functions

static std::unique_ptr< CFramebufferCreate (CDevice *device, const char *name, SColorAttachment *colorAttachment, SDepthStencilAttachment *depthStencilAttachment)
 
static std::unique_ptr< CFramebufferCreateBackbuffer (CDevice *device, const int surfaceDrawableWidth, const int surfaceDrawableHeight, const AttachmentLoadOp colorAttachmentLoadOp, const AttachmentStoreOp colorAttachmentStoreOp, const AttachmentLoadOp depthStencilAttachmentLoadOp, const AttachmentStoreOp depthStencilAttachmentStoreOp)
 

Private Attributes

CDevicem_Device = nullptr
 
GLuint m_Handle = 0
 
uint32_t m_Width = 0
 
uint32_t m_Height = 0
 
GLbitfield m_AttachmentMask = 0
 
CColor m_ClearColor
 
AttachmentLoadOp m_ColorAttachmentLoadOp = AttachmentLoadOp::DONT_CARE
 
AttachmentStoreOp m_ColorAttachmentStoreOp = AttachmentStoreOp::DONT_CARE
 
AttachmentLoadOp m_DepthStencilAttachmentLoadOp = AttachmentLoadOp::DONT_CARE
 
AttachmentStoreOp m_DepthStencilAttachmentStoreOp = AttachmentStoreOp::DONT_CARE
 

Friends

class CDevice
 

Constructor & Destructor Documentation

◆ ~CFramebuffer()

Renderer::Backend::GL::CFramebuffer::~CFramebuffer ( )
override

◆ CFramebuffer()

Renderer::Backend::GL::CFramebuffer::CFramebuffer ( )
privatedefault

Member Function Documentation

◆ Create()

std::unique_ptr< CFramebuffer > Renderer::Backend::GL::CFramebuffer::Create ( CDevice device,
const char *  name,
SColorAttachment colorAttachment,
SDepthStencilAttachment depthStencilAttachment 
)
staticprivate

◆ CreateBackbuffer()

std::unique_ptr< CFramebuffer > Renderer::Backend::GL::CFramebuffer::CreateBackbuffer ( CDevice device,
const int  surfaceDrawableWidth,
const int  surfaceDrawableHeight,
const AttachmentLoadOp  colorAttachmentLoadOp,
const AttachmentStoreOp  colorAttachmentStoreOp,
const AttachmentLoadOp  depthStencilAttachmentLoadOp,
const AttachmentStoreOp  depthStencilAttachmentStoreOp 
)
staticprivate

◆ GetAttachmentMask()

GLbitfield Renderer::Backend::GL::CFramebuffer::GetAttachmentMask ( ) const
inline

◆ GetClearColor()

const CColor & Renderer::Backend::GL::CFramebuffer::GetClearColor ( ) const
inlineoverridevirtual

Returns a clear color for all color attachments of the framebuffer.

See also
IDevice::CreateFramebuffer()

Implements Renderer::Backend::IFramebuffer.

◆ GetColorAttachmentLoadOp()

AttachmentLoadOp Renderer::Backend::GL::CFramebuffer::GetColorAttachmentLoadOp ( ) const
inline

◆ GetColorAttachmentStoreOp()

AttachmentStoreOp Renderer::Backend::GL::CFramebuffer::GetColorAttachmentStoreOp ( ) const
inline

◆ GetDepthStencilAttachmentLoadOp()

AttachmentLoadOp Renderer::Backend::GL::CFramebuffer::GetDepthStencilAttachmentLoadOp ( ) const
inline

◆ GetDepthStencilAttachmentStoreOp()

AttachmentStoreOp Renderer::Backend::GL::CFramebuffer::GetDepthStencilAttachmentStoreOp ( ) const
inline

◆ GetDevice()

IDevice * Renderer::Backend::GL::CFramebuffer::GetDevice ( )
overridevirtual

◆ GetHandle()

GLuint Renderer::Backend::GL::CFramebuffer::GetHandle ( ) const
inline

◆ GetHeight()

uint32_t Renderer::Backend::GL::CFramebuffer::GetHeight ( ) const
inlineoverridevirtual

◆ GetWidth()

uint32_t Renderer::Backend::GL::CFramebuffer::GetWidth ( ) const
inlineoverridevirtual

Friends And Related Function Documentation

◆ CDevice

friend class CDevice
friend

Member Data Documentation

◆ m_AttachmentMask

GLbitfield Renderer::Backend::GL::CFramebuffer::m_AttachmentMask = 0
private

◆ m_ClearColor

CColor Renderer::Backend::GL::CFramebuffer::m_ClearColor
private

◆ m_ColorAttachmentLoadOp

AttachmentLoadOp Renderer::Backend::GL::CFramebuffer::m_ColorAttachmentLoadOp = AttachmentLoadOp::DONT_CARE
private

◆ m_ColorAttachmentStoreOp

AttachmentStoreOp Renderer::Backend::GL::CFramebuffer::m_ColorAttachmentStoreOp = AttachmentStoreOp::DONT_CARE
private

◆ m_DepthStencilAttachmentLoadOp

AttachmentLoadOp Renderer::Backend::GL::CFramebuffer::m_DepthStencilAttachmentLoadOp = AttachmentLoadOp::DONT_CARE
private

◆ m_DepthStencilAttachmentStoreOp

AttachmentStoreOp Renderer::Backend::GL::CFramebuffer::m_DepthStencilAttachmentStoreOp = AttachmentStoreOp::DONT_CARE
private

◆ m_Device

CDevice* Renderer::Backend::GL::CFramebuffer::m_Device = nullptr
private

◆ m_Handle

GLuint Renderer::Backend::GL::CFramebuffer::m_Handle = 0
private

◆ m_Height

uint32_t Renderer::Backend::GL::CFramebuffer::m_Height = 0
private

◆ m_Width

uint32_t Renderer::Backend::GL::CFramebuffer::m_Width = 0
private

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