Pyrogenesis  trunk
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
Renderer::Backend::GL::CFramebuffer Class Referencefinal

#include <Framebuffer.h>

Inheritance diagram for Renderer::Backend::GL::CFramebuffer:
Inheritance graph
[legend]
Collaboration diagram for Renderer::Backend::GL::CFramebuffer:
Collaboration graph
[legend]

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
 
- Public Member Functions inherited from Renderer::Backend::IDeviceObject< IFramebuffer >
virtual ~IDeviceObject ()
 
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: