Raven Engine v0.1
A modern 3D Game Engine
Loading...
Searching...
No Matches
Raven::VulkanTextureCube Class Reference

Vulkan implementation of a cubemap texture. More...

#include <VulkanTextureCube.h>

Inherits Raven::TextureCube.

Public Member Functions

ILLUMINE_API VulkanTextureCube (const TextureCubeSpecification &spec, const TextureCubeFaces &faces, const std::string &cmapPath)
ILLUMINE_API VulkanTextureCube (const TextureCubeSpecification &spec)
ILLUMINE_API VulkanTextureCube (u32 rgba)
u32 GetWidth () const override
u32 GetHeight () const override
const std::string & GetName () const override
const std::string & GetPath () const override
const TextureCubeSpecificationGetSpecification () const override
ILLUMINE_API void Release () override
VkImage GetImage () const
VkImageView GetView () const
VkSampler GetSampler () const
ILLUMINE_API void CreateFaceViews ()
VkImageView GetFaceView (u32 faceIndex) const
Public Member Functions inherited from Raven::TextureCube
virtual ~TextureCube ()=default
Public Member Functions inherited from Raven::RefCounted
 RefCounted ()
virtual ~RefCounted ()
void IncRefCount ()
void DecRefCount ()
u32 GetRefCount () const

Additional Inherited Members

Static Public Member Functions inherited from Raven::TextureCube
static ILLUMINE_API Ref< TextureCubeCreate (const TextureCubeSpecification &spec)
static ILLUMINE_API Ref< TextureCubeCreate (u32 rgba)
static ILLUMINE_API Ref< TextureCubeCreate (const std::string &cmapFile)
static ILLUMINE_API bool GenerateCubemapFile (const std::filesystem::path &folder)
Static Public Attributes inherited from Raven::TextureCube
static constexpr AssetType ASSET_TYPE = AssetType::TextureCube

Detailed Description

Vulkan implementation of a cubemap texture.

Creates a VkImage with VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT and a VkImageView of type VK_IMAGE_VIEW_TYPE_CUBE, then uploads all 6 face images via a staging buffer.

Constructor & Destructor Documentation

◆ VulkanTextureCube() [1/3]

Raven::VulkanTextureCube::VulkanTextureCube ( const TextureCubeSpecification & spec,
const TextureCubeFaces & faces,
const std::string & cmapPath )

◆ VulkanTextureCube() [2/3]

Raven::VulkanTextureCube::VulkanTextureCube ( const TextureCubeSpecification & spec)

◆ VulkanTextureCube() [3/3]

Raven::VulkanTextureCube::VulkanTextureCube ( u32 rgba)

Member Function Documentation

◆ CreateFaceViews()

void Raven::VulkanTextureCube::CreateFaceViews ( )

◆ GetFaceView()

VkImageView Raven::VulkanTextureCube::GetFaceView ( u32 faceIndex) const
inline

◆ GetHeight()

u32 Raven::VulkanTextureCube::GetHeight ( ) const
inlineoverridevirtual

Implements Raven::TextureCube.

◆ GetImage()

VkImage Raven::VulkanTextureCube::GetImage ( ) const
inline

◆ GetName()

const std::string & Raven::VulkanTextureCube::GetName ( ) const
inlineoverridevirtual

Implements Raven::TextureCube.

◆ GetPath()

const std::string & Raven::VulkanTextureCube::GetPath ( ) const
inlineoverridevirtual

Implements Raven::TextureCube.

◆ GetSampler()

VkSampler Raven::VulkanTextureCube::GetSampler ( ) const
inline

◆ GetSpecification()

const TextureCubeSpecification & Raven::VulkanTextureCube::GetSpecification ( ) const
inlineoverridevirtual

Implements Raven::TextureCube.

◆ GetView()

VkImageView Raven::VulkanTextureCube::GetView ( ) const
inline

◆ GetWidth()

u32 Raven::VulkanTextureCube::GetWidth ( ) const
inlineoverridevirtual

Implements Raven::TextureCube.

◆ Release()

void Raven::VulkanTextureCube::Release ( )
overridevirtual

Implements Raven::TextureCube.


The documentation for this class was generated from the following files: