Raven Engine v0.1
Loading...
Searching...
No Matches
Vulkan

Classes

struct  Raven::RenderPassInput
 Describes a single input resource for a render pass, including type, binding indices, and resource handles. More...
class  Raven::DescriptorSetManager
 Manages Vulkan descriptor sets for a given render pass specification. More...
class  Raven::QueueFamilyIndices
 Holds the indices of Vulkan queue families used for graphics and presentation. More...
class  Raven::VulkanCommandBuffer
 Vulkan-specific implementation of a RenderCommandBuffer. More...
class  Raven::VulkanCommandPool
 Wrapper around a Vulkan command pool. More...
class  Raven::VulkanDevice
 Manages Vulkan physical and logical device selection and creation. More...
class  Raven::VulkanFramebuffer
 Vulkan implementation of the Framebuffer abstraction. More...
struct  Raven::VulkanImageInfo
 Holds Vulkan-specific handles related to an image. More...
class  Raven::VulkanImage2D
 Vulkan implementation of a 2D image resource. More...
class  Raven::VulkanImGuiRenderer
 ImGui renderer implementation using Vulkan backend. More...
class  Raven::VulkanIndexBuffer
 Vulkan implementation of an index buffer. More...
class  Raven::VulkanMaterial
 Vulkan-specific material resource binder. More...
class  Raven::VulkanPipeline
 Vulkan implementation of the rendering Pipeline abstraction. More...
class  Raven::VulkanRenderer
 Vulkan implementation of the RendererAPI interface. More...
class  Raven::VulkanRenderPass
 Vulkan-specific implementation of a RenderPass. More...
class  VulkanShaderHandle
 Handles a Vulkan shader module lifecycle and stores its entry point. More...
class  Raven::VulkanShader
 Represents a Vulkan shader, managing modules, reflection data, and descriptor sets. More...
class  Raven::HLSLIncluder
 Custom include handler for HLSL shader source files used with shaderc compiler. More...
class  Raven::VulkanShaderCompiler
 Manages compilation and reflection of Vulkan-compatible SPIR-V shaders from HLSL sources. More...
struct  Raven::ShaderResource::ShaderDescriptor
 Represents an individual shader descriptor binding. More...
struct  Raven::ShaderResource::UniformBuffer
 Represents a uniform buffer descriptor. More...
struct  Raven::ShaderResource::ShaderDescriptorSet
 Groups multiple descriptors into a descriptor set. More...
struct  Raven::ShaderResource::PushConstantRange
 Represents a push constant range used in shaders. More...
struct  Raven::ShaderBuffer
 Represents a shader buffer (e.g., uniform or constant buffer). More...
struct  Raven::ShaderResourceDeclaration
 Declares any shader resource including buffers and textures. More...
class  Raven::VulkanSwapchain
 Holds semaphores used for synchronizing image acquisition and rendering. More...
class  Raven::VulkanTexture2D
 Vulkan-specific 2D texture implementation. More...
class  Raven::VulkanUniformBuffer
 Vulkan-specific UniformBuffer implementation. More...
class  Raven::VulkanVertexBuffer
 Vulkan backend implementation of a vertex buffer. More...

Macros

#define VK_CHECK(call)
 Macro wrapper for vkCheck that passes current function and line automatically.

Enumerations

enum class  Raven::InputType : uint8_t { Raven::InputType::UniformBuffer , Raven::InputType::Image , Raven::InputType::Sampler , Raven::InputType::SampledImage }
 Defines types of inputs that can be bound to descriptor sets. More...
enum class  Raven::ShaderResource::ResourceType : u8 {
  Raven::ShaderResource::ResourceType::UniformBuffer , Raven::ShaderResource::ResourceType::SampledImage , Raven::ShaderResource::ResourceType::StorageBuffer , Raven::ShaderResource::ResourceType::Sampler ,
  Raven::ShaderResource::ResourceType::Unknown
}
 Enumerates the different types of shader resources. More...

Functions

void Raven::DestroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT debugMessenger, const VkAllocationCallbacks *pAllocator)
 Wrapper to destroy a Vulkan debug utils messenger.

Detailed Description

Vulkan-specific implementation of the rendering backend.

Macro Definition Documentation

◆ VK_CHECK

#define VK_CHECK ( call)
Value:
Raven::vkCheck((call), __FUNCTION__, __LINE__)

Macro wrapper for vkCheck that passes current function and line automatically.

Usage: VK_CHECK(vkSomeFunction(...));

Enumeration Type Documentation

◆ InputType

enum class Raven::InputType : uint8_t
strong

Defines types of inputs that can be bound to descriptor sets.

Enumerator
UniformBuffer 

Uniform buffer input type.

Image 

Image input type (without sampler).

Sampler 

Sampler input type.

SampledImage 

Combined image sampler input type.

◆ ResourceType

Enumerates the different types of shader resources.

Enumerator
UniformBuffer 

Uniform buffer resource.

SampledImage 

Sampled image (texture).

StorageBuffer 

Storage buffer resource.

Sampler 

Sampler resource.

Unknown 

Unknown or unspecified resource type.

Function Documentation

◆ DestroyDebugUtilsMessengerEXT()

void Raven::DestroyDebugUtilsMessengerEXT ( VkInstance instance,
VkDebugUtilsMessengerEXT debugMessenger,
const VkAllocationCallbacks * pAllocator )
inline

Wrapper to destroy a Vulkan debug utils messenger.

Dynamically retrieves the destroy function and calls it if available.

Parameters
instanceVulkan instance.
debugMessengerDebug messenger handle to destroy.
pAllocatorOptional custom allocator callbacks.