Elevate Engine 1
Loading...
Searching...
No Matches
Elevate::Framebuffer Class Referenceabstract

#include <FrameBuffer.h>

Inheritance diagram for Elevate::Framebuffer:
Elevate::OpenGLFrameBuffer

Public Member Functions

virtual ~Framebuffer ()=default
 
virtual void Bind () const =0
 
virtual void Unbind () const =0
 
virtual void BlitFramebufferToScreen (uint32_t screenWidth, uint32_t screenHeight) const =0
 
virtual void Rescale (uint32_t width, uint32_t height)=0
 
void * GetNativeTextureHandle () const
 
virtual uint32_t GetFrameBufferId () const =0
 
void SetClearColor (glm::vec4 color)
 
virtual void Clear () const
 

Static Public Member Functions

static FramebufferCreate (uint32_t width=1280, uint32_t height=720)
 

Protected Member Functions

 Framebuffer (TexturePtr tex)
 

Protected Attributes

TexturePtr m_texture
 
glm::vec4 m_clearColor = { 1.0f, 1.0f, 1.0f, 1.0f }
 

Detailed Description

Definition at line 36 of file FrameBuffer.h.

Constructor & Destructor Documentation

◆ ~Framebuffer()

virtual Elevate::Framebuffer::~Framebuffer ( )
virtualdefault

◆ Framebuffer()

Elevate::Framebuffer::Framebuffer ( TexturePtr  tex)
inlineprotected

Definition at line 60 of file FrameBuffer.h.

60: m_texture(tex) { }

Member Function Documentation

◆ Bind()

virtual void Elevate::Framebuffer::Bind ( ) const
pure virtual

Implemented in Elevate::OpenGLFrameBuffer.

◆ BlitFramebufferToScreen()

virtual void Elevate::Framebuffer::BlitFramebufferToScreen ( uint32_t  screenWidth,
uint32_t  screenHeight 
) const
pure virtual

Implemented in Elevate::OpenGLFrameBuffer.

◆ Clear()

void Elevate::Framebuffer::Clear ( ) const
virtual

Definition at line 25 of file FrameBuffer.cpp.

26 {
29 }
static void SetClearColor(const glm::vec4 &color)
Definition Renderer.cpp:53
static void Clear()
Definition Renderer.cpp:58

◆ Create()

Framebuffer * Elevate::Framebuffer::Create ( uint32_t  width = 1280,
uint32_t  height = 720 
)
static

Definition at line 9 of file FrameBuffer.cpp.

10 {
11 TextureMetadata meta = TextureMetadataBuilder()
12 .size(width, height)
14 .Format(TextureFormat::RGBA)
15 .Mipmaps(false)
20 .Build();
21
22 return new OpenGLFrameBuffer(Texture::CreateFromData(nullptr, meta));
23 }
static TexturePtr CreateFromData(unsigned char *data, TextureMetadata &meta)
Definition Texture.cpp:87

◆ GetFrameBufferId()

virtual uint32_t Elevate::Framebuffer::GetFrameBufferId ( ) const
pure virtual

Implemented in Elevate::OpenGLFrameBuffer.

◆ GetNativeTextureHandle()

void * Elevate::Framebuffer::GetNativeTextureHandle ( ) const
inline

Definition at line 46 of file FrameBuffer.h.

46 {
47 return m_texture->GetNativeHandle();
48 }

◆ Rescale()

virtual void Elevate::Framebuffer::Rescale ( uint32_t  width,
uint32_t  height 
)
pure virtual

Implemented in Elevate::OpenGLFrameBuffer.

◆ SetClearColor()

void Elevate::Framebuffer::SetClearColor ( glm::vec4  color)
inline

Definition at line 53 of file FrameBuffer.h.

53{ m_clearColor = color; }

◆ Unbind()

virtual void Elevate::Framebuffer::Unbind ( ) const
pure virtual

Implemented in Elevate::OpenGLFrameBuffer.

Member Data Documentation

◆ m_clearColor

glm::vec4 Elevate::Framebuffer::m_clearColor = { 1.0f, 1.0f, 1.0f, 1.0f }
protected

Definition at line 64 of file FrameBuffer.h.

64{ 1.0f, 1.0f, 1.0f, 1.0f }; // TODO REMOVE

◆ m_texture

TexturePtr Elevate::Framebuffer::m_texture
protected

Definition at line 63 of file FrameBuffer.h.


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