Abstract interface for framebuffer management. More...
#include <Framebuffer.h>
Inherits Raven::RefCounted.
Inherited by Raven::VulkanFramebuffer.
Public Member Functions | |
| virtual | ~Framebuffer ()=default |
| virtual void | Resize (u32 width, u32 height, bool forceRecreate=false)=0 |
| Resize framebuffer to new dimensions. | |
| virtual FramebufferSpecification & | GetSpecification ()=0 |
| virtual const FramebufferSpecification & | GetSpecification () const =0 |
| virtual Ref< Image2D > | GetDepthImage () const =0 |
| virtual Ref< Image2D > | GetImage (u32 index) const =0 |
| Returns the color attachment image at the given index. | |
| virtual usize | GetColorAttachmentCount () const =0 |
| virtual bool | HasDepthAttachment ()=0 |
| virtual void | Release ()=0 |
| Releases internal resources. | |
| Public Member Functions inherited from Raven::RefCounted | |
| RefCounted () | |
| virtual | ~RefCounted () |
| void | IncRefCount () |
| void | DecRefCount () |
| u32 | GetRefCount () const |
Static Public Member Functions | |
| static Ref< Framebuffer > | Create (const FramebufferSpecification &spec) |
| Factory method to create a framebuffer from specification. | |
Abstract interface for framebuffer management.
Provides methods for resizing, callback registration, access to attachments, and lifecycle management.
Concrete implementations are expected to manage Vulkan resources under the hood.
|
virtualdefault |
|
static |
Factory method to create a framebuffer from specification.
| spec | Configuration parameters. |
|
pure virtual |
Implemented in Raven::VulkanFramebuffer.
Implemented in Raven::VulkanFramebuffer.
Returns the color attachment image at the given index.
| index | Attachment index. |
Implemented in Raven::VulkanFramebuffer.
|
pure virtual |
Implemented in Raven::VulkanFramebuffer.
|
pure virtual |
Implemented in Raven::VulkanFramebuffer.
|
pure virtual |
Implemented in Raven::VulkanFramebuffer.
|
pure virtual |
Releases internal resources.
Implemented in Raven::VulkanFramebuffer.
|
pure virtual |
Resize framebuffer to new dimensions.
| width | New width in pixels. |
| height | New height in pixels. |
| forceRecreate | If true, forces full resource recreation. |
Implemented in Raven::VulkanFramebuffer.