OrbitEngine::Graphics::FrameBuffer class

Derived classes

class D3DFrameBuffer
class GLFrameBuffer
class VKFrameBuffer

Public static functions

static void Push(FrameBuffer* frameBuffer)
static void Pop()
static void Prepare()
static auto GetCurrent() -> FrameBuffer*
static auto GetCurrentSize() -> Math::Vec2i
static auto Create(unsigned int width, unsigned int height) -> FrameBuffer*

Constructors, destructors, conversion operators

~FrameBuffer() virtual
FrameBuffer(unsigned int width, unsigned int height) protected

Public functions

void attachColorTextures(int count, TextureFormatProperties formatProperties, TextureSampleProperties sampleProperties = TextureSampleProperties(), TextureDimension dimension = TEXTURE2D) pure virtual
void attachDepthStencilTexture(bool stencil = false, TextureSampleProperties sampleProperties = TextureSampleProperties(), TextureDimension dimension = TEXTURE2D) pure virtual
void finalize() virtual
void setViewport() const pure virtual
void useMip(unsigned int mipLevel) pure virtual
void blit(FrameBuffer* source, BlitOperation operation) virtual
void clear() const pure virtual
void setClearColor(const Math::Vec4f& clearColor)
auto getWidth() -> unsigned int
auto getHeight() -> unsigned int
auto getColorTextures() const -> std::vector<Texture*>
auto getDepthTexture() const -> Texture*

Protected functions

void bind() const pure virtual
void unbind() const pure virtual

Protected variables

std::vector<Texture*> m_ColorBuffers
Texture* m_DepthStencilTexture
unsigned int m_Width
unsigned int m_Height
unsigned int m_MipLevel
Math::Vec4f m_ClearColor