![]() |
Raven Engine v0.1
|
Abstract interface for framebuffer management. More...
#include <Framebuffer.h>
Public Member Functions | |
| virtual | ~Framebuffer ()=default |
| virtual void | Resize (u32 width, u32 height, bool forceRecreate=false)=0 |
| Resize framebuffer to new dimensions. | |
| virtual void | AddResizeCallback (const std::function< void(Ref< Framebuffer >)> &func)=0 |
| Adds a callback triggered on framebuffer resize. | |
| 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::Castable< Framebuffer > | |
| T & | As () |
| Non-const version of As<T>(), for casting to a non-const target type. | |
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 |
|
pure virtual |
Adds a callback triggered on framebuffer resize.
| func | Function called with a reference to the framebuffer. |
Implemented in Raven::VulkanFramebuffer.
|
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.