| Fling Engine 0.00.1 Fling Engine is a game engine written in Vulkan

Public Member Functions | Private Member Functions | Private Attributes
Fling::Cubemap Class Reference

`#include <Cubemap.h>`

## Public Member Functions
| Cubemap (Guid t_PosX_ID, Guid t_NegX_ID, Guid t_PosY_ID, Guid t_NegY_ID, Guid t_PosZ_ID, Guid t_NegZ_ID, Guid t_VertexShader, Guid t_FragShader, VkRenderPass t_RenderPass, LogicalDevice *t_LogicalDevice)
| Cubemap (Guid t_CubeMap_ID, VkRenderPass t_Renderpass, VkDevice t_LogicalDevice)
| ~Cubemap ()
void | Init (Camera *t_Camera, UINT32 t_CurrentImage, size_t t_NumeFramesInFlight, Multisampler *t_Sampler)
void | UpdateUniformBuffer (UINT32 t_CurrentImage, const glm::mat4 &t_ProjectionMatrix, const glm::mat4 &t_ViewMatrix)
void | BindCmdBuffer (VkCommandBuffer &t_CommandBuffer)
std::unique_ptr< GraphicsPipeline > | GetGraphicsPipeline () const
VkDescriptorSet & | GetDescriptorSet ()
| Get the Descriptor Sets object. More...
Buffer * | GetVertexBuffer () const
| Get the Vertex Buffer object. More...
Buffer * | GetIndexBuffer () const
| Get the Index Buffer object. More...
UINT32 | GetIndexCount () const
| Get the Index Count object. More...
VkIndexType | GetIndexType () const
VkImage | GetImage () const
VkDeviceMemory | GetImageMemory () const
VkDescriptorImageInfo & | GetImageInfo ()

## Private Member Functions
void | PreparePipeline (Multisampler *t_Sampler)
void | LoadCubeMapImage (Guid t_CubeMap_ID)
| Loads cubemaps with file format .hdr for ibl. More...
void | LoadCubemapImages (Guid t_PosX_ID, Guid t_NegX_ID, Guid t_PosY_ID, Guid t_NegY_ID, Guid t_PosZ_ID, Guid t_NegZ_ID)
void | SetupDescriptors ()

## Private Attributes
std::vector< Texture > | m_cubeMapImages
std::vector< std::shared_ptr< class Buffer > > | m_UniformBuffers
VkImage | m_Image
VkImageView | m_Imageview
VkImageLayout | m_ImageLayout
VkDeviceMemory | m_ImageMemory
VkSampler | m_Sampler
VkDescriptorSetLayout | m_DescriptorSetLayout
VkDescriptorImageInfo | m_DescriptorImageInfo
VkDescriptorSet | m_DescriptorSet
VkDescriptorPool | m_DescriptorPool
VkRenderPass | m_RenderPass
LogicalDevice * | m_Device
VkDescriptorBufferInfo | m_UniformBufferDescriptor
VkDeviceSize | m_ImageSize
VkDeviceSize | m_LayerSize
VkFormat | m_Format
UINT32 | m_NumChannels
UINT32 | m_MipLevels
size_t | m_numsFrameInFlight
UboSkyboxVS | m_UboVS
std::shared_ptr< Model > | m_Cube
GraphicsPipeline * | m_GraphicsPipeline
Guid | m_FragShader
Guid | m_VertexShader

## Constructor & Destructor Documentation

## ◆ Cubemap() [1/2]

Fling::Cubemap::Cubemap | ( | Guid | t_PosX_ID,
|  | Guid | t_NegX_ID,
|  | Guid | t_PosY_ID,
|  | Guid | t_NegY_ID,
|  | Guid | t_PosZ_ID,
|  | Guid | t_NegZ_ID,
|  | Guid | t_VertexShader,
|  | Guid | t_FragShader,
|  | VkRenderPass | t_RenderPass,
|  | LogicalDevice * | t_LogicalDevice
| ) |  |

## ◆ Cubemap() [2/2]

Fling::Cubemap::Cubemap | ( | Guid | t_CubeMap_ID,
|  | VkRenderPass | t_Renderpass,
|  | VkDevice | t_LogicalDevice
| ) |  |

## ◆ ~Cubemap()

Fling::Cubemap::~Cubemap | ( |  | ) |

## Member Function Documentation

## ◆ BindCmdBuffer()

void Fling::Cubemap::BindCmdBuffer | ( | VkCommandBuffer & | t_CommandBuffer | ) |

## ◆ GetDescriptorSet()

VkDescriptorSet& Fling::Cubemap::GetDescriptorSet | ( |  | ) |
| inline

Get the Descriptor Sets object.

Returns
  const VkDescriptorSet>

## ◆ GetGraphicsPipeline()

std::unique_ptr<GraphicsPipeline> Fling::Cubemap::GetGraphicsPipeline | ( |  | ) | const
| inline

## ◆ GetImage()

VkImage Fling::Cubemap::GetImage | ( |  | ) | const
| inline

## ◆ GetImageInfo()

VkDescriptorImageInfo& Fling::Cubemap::GetImageInfo | ( |  | ) |
| inline

## ◆ GetImageMemory()

VkDeviceMemory Fling::Cubemap::GetImageMemory | ( |  | ) | const
| inline

## ◆ GetIndexBuffer()

Buffer* Fling::Cubemap::GetIndexBuffer | ( |  | ) | const
| inline

Get the Index Buffer object.

Returns
  const Buffer*

## ◆ GetIndexCount()

UINT32 Fling::Cubemap::GetIndexCount | ( |  | ) | const
| inline

Get the Index Count object.

Returns
  const UINT32

## ◆ GetIndexType()

VkIndexType Fling::Cubemap::GetIndexType | ( |  | ) | const
| inline

## ◆ GetVertexBuffer()

Buffer* Fling::Cubemap::GetVertexBuffer | ( |  | ) | const
| inline

Get the Vertex Buffer object.

Returns
  const Buffer*

## ◆ Init()

void Fling::Cubemap::Init | ( | Camera * | t_Camera,
|  | UINT32 | t_CurrentImage,
|  | size_t | t_NumeFramesInFlight,
|  | Multisampler * | t_Sampler
| ) |  |

## ◆ LoadCubeMapImage()

void Fling::Cubemap::LoadCubeMapImage | ( | Guid | t_CubeMap_ID | ) |
| private

Loads cubemaps with file format .hdr for ibl.

## ◆ LoadCubemapImages()

void Fling::Cubemap::LoadCubemapImages | ( | Guid | t_PosX_ID,
|  | Guid | t_NegX_ID,
|  | Guid | t_PosY_ID,
|  | Guid | t_NegY_ID,
|  | Guid | t_PosZ_ID,
|  | Guid | t_NegZ_ID
| ) |  |
| private

## ◆ PreparePipeline()

void Fling::Cubemap::PreparePipeline | ( | Multisampler * | t_Sampler | ) |
| private

## ◆ SetupDescriptors()

void Fling::Cubemap::SetupDescriptors | ( |  | ) |
| private

## ◆ UpdateUniformBuffer()

void Fling::Cubemap::UpdateUniformBuffer | ( | UINT32 | t_CurrentImage,
|  | const glm::mat4 & | t_ProjectionMatrix,
|  | const glm::mat4 & | t_ViewMatrix
| ) |  |

## Field Documentation

## ◆ m_Cube

std::shared_ptr<Model> Fling::Cubemap::m_Cube
| private

## ◆ m_cubeMapImages

std::vector<Texture> Fling::Cubemap::m_cubeMapImages
| private

## ◆ m_DescriptorImageInfo

VkDescriptorImageInfo Fling::Cubemap::m_DescriptorImageInfo
| private

## ◆ m_DescriptorPool

VkDescriptorPool Fling::Cubemap::m_DescriptorPool
| private

## ◆ m_DescriptorSet

VkDescriptorSet Fling::Cubemap::m_DescriptorSet
| private

## ◆ m_DescriptorSetLayout

VkDescriptorSetLayout Fling::Cubemap::m_DescriptorSetLayout
| private

## ◆ m_Device

LogicalDevice* Fling::Cubemap::m_Device
| private

## ◆ m_Format

VkFormat Fling::Cubemap::m_Format
| private

## ◆ m_FragShader

Guid Fling::Cubemap::m_FragShader
| private

## ◆ m_GraphicsPipeline

GraphicsPipeline* Fling::Cubemap::m_GraphicsPipeline
| private

## ◆ m_Image

VkImage Fling::Cubemap::m_Image
| private

## ◆ m_ImageLayout

VkImageLayout Fling::Cubemap::m_ImageLayout
| private

## ◆ m_ImageMemory

VkDeviceMemory Fling::Cubemap::m_ImageMemory
| private

## ◆ m_ImageSize

VkDeviceSize Fling::Cubemap::m_ImageSize
| private

## ◆ m_Imageview

VkImageView Fling::Cubemap::m_Imageview
| private

## ◆ m_LayerSize

VkDeviceSize Fling::Cubemap::m_LayerSize
| private

## ◆ m_MipLevels

UINT32 Fling::Cubemap::m_MipLevels
| private

## ◆ m_NumChannels

UINT32 Fling::Cubemap::m_NumChannels
| private

## ◆ m_numsFrameInFlight

size_t Fling::Cubemap::m_numsFrameInFlight
| private

## ◆ m_RenderPass

VkRenderPass Fling::Cubemap::m_RenderPass
| private

## ◆ m_Sampler

VkSampler Fling::Cubemap::m_Sampler
| private

## ◆ m_UboVS

UboSkyboxVS Fling::Cubemap::m_UboVS
| private

## ◆ m_UniformBufferDescriptor

VkDescriptorBufferInfo Fling::Cubemap::m_UniformBufferDescriptor
| private

## ◆ m_UniformBuffers

std::vector<std::shared_ptr<class Buffer> > Fling::Cubemap::m_UniformBuffers
| private

## ◆ m_VertexShader

Guid Fling::Cubemap::m_VertexShader
| private

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

- FlingEngine/Graphics/inc/Cubemap.h
- FlingEngine/Graphics/src/Cubemap.cpp