Raven Engine v0.1
Loading...
Searching...
No Matches
Framebuffer.h File Reference

Abstracts framebuffer creation, specification, and management with Vulkan backend support. More...

#include "Raven/Core/Types.h"
#include "Raven/Memory/Ref.h"
#include "Renderer/Image.h"
#include "Renderer/GraphicEnums.h"
#include "Crux/Crux.h"
#include <vulkan/vulkan.hpp>
#include <map>
#include <vector>
#include <functional>

Classes

struct  Raven::FramebufferTextureSpecification
 Describes a single texture attachment in a framebuffer. More...
struct  Raven::FramebufferAttachmentSpecification
 Defines a collection of texture attachments for a framebuffer. More...
struct  Raven::FramebufferSpecification
 Configuration settings for creating or resizing a framebuffer. More...
class  Raven::Framebuffer
 Abstract interface for framebuffer management. More...

Namespaces

namespace  Raven

Enumerations

enum class  Raven::FramebufferBlendMode {
  Raven::FramebufferBlendMode::None = 0 , Raven::FramebufferBlendMode::OneZero , Raven::FramebufferBlendMode::SrcAlphaOneMinusSrc , Raven::FramebufferBlendMode::Additive ,
  Raven::FramebufferBlendMode::Zero_SrcColor
}
 Defines blending modes used when compositing framebuffer outputs. More...
enum class  Raven::AttachmentLoadOp : u8 { Raven::AttachmentLoadOp::Inherit = 0 , Raven::AttachmentLoadOp::Clear = 1 , Raven::AttachmentLoadOp::Load = 2 , Raven::AttachmentLoadOp::DontCare = 3 }
 Specifies load operations for framebuffer attachments at render pass start. More...

Detailed Description

Abstracts framebuffer creation, specification, and management with Vulkan backend support.

Author
PhilikusHD

This file defines the Framebuffer class interface and related types used for configuring render targets within the engine's rendering system.

The framebuffer encapsulates color and depth attachments, blending modes, multisampling, and resize behavior. It supports attaching existing images and framebuffers for flexible integration.