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

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
Fling::HDRImage Class Reference

Loads image R16G16B16_SFLOAT file formats exmplae file format : .hdr. More...

`#include <HDRImage.h>`

Inherits Fling::Resource.

## Public Member Functions
| HDRImage (Guid t_ID, LogicalDevice *t_dev, void *t_Data=nullptr)
virtual | ~HDRImage ()
FORCEINLINE UINT32 | GetWidth () const
FORCEINLINE UINT32 | GetHeight () const
FORCEINLINE INT32 | GetChannels () const
FORCEINLINE UINT32 | GetMipLevels () const
FORCEINLINE const VkImage & | GetVkImage () const
FORCEINLINE const VkImageView & | GetVkImageView () const
FORCEINLINE const VkSampler & | GetSampler () const
FORCEINLINE VkDescriptorImageInfo * | GetDescriptorInfo ()
FORCEINLINE const VkFormat & | GetVkImageFormat () const
UINT64 | GetImageSize () const
| Get the Image Size object Multiply by 2 * 3 because there are 3 channels that are 2 bytes each Each channel is represented as a signed 16 (bit) float. More...
const float * | GetPixelData () const
| Get the Pixel Data as signed floats. More...
void | Release ()
Public Member Functions inherited from Fling::Resource
| Resource (Fling::Guid t_ID)
virtual | ~Resource ()=default
Fling::Guid_Handle | GetGuidHandle () const
| Get GUID handle (just an int) for this resources guid. More...
const std::string & | GetGuidString () const
| Get the human-readable string representation of this GUID. More...
std::string | GetFilepathReleativeToAssets () const
| Returns the full file path that is relative to the assets path based on the GUID of this resource. More...

## Static Public Member Functions
static std::shared_ptr< Fling::HDRImage > | Create (Guid t_ID, LogicalDevice *t_dev, void *t_Data=nullptr)

## Private Member Functions
void | LoadVulkanImage ()
void | CreateImageView ()
void | CreateTextureSampler ()
void | CopyBufferToImage (VkBuffer t_Buffer)
void | GenerateMipMaps (VkFormat t_ImageFormat)

## Private Attributes
const LogicalDevice * | m_Device
VkImage | m_Image
VkImageView | m_ImageView
VkSampler | m_TextureSampler
VkDeviceMemory | m_Memory
VkDescriptorImageInfo | m_ImageInfo = {}
float * | m_PixelData
VkFormat | m_Format = VK_FORMAT_R16G16B16_SFLOAT
UINT32 | m_Width = 0
UINT32 | m_Height = 0
UINT32 | m_MipLevels = 0
INT32 | m_Channels = 0

## Additional Inherited Members
Protected Attributes inherited from Fling::Resource
Fling::Guid | m_Guid
std::string | m_HumanReadableName

## Detailed Description

Loads image R16G16B16_SFLOAT file formats exmplae file format : .hdr.

## Constructor & Destructor Documentation

## ◆ HDRImage()

Fling::HDRImage::HDRImage | ( | Guid | t_ID,
|  | LogicalDevice * | t_dev,
|  | void * | t_Data = `nullptr`
| ) |  |
| explicit

## ◆ ~HDRImage()

Fling::HDRImage::~HDRImage | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ CopyBufferToImage()

void Fling::HDRImage::CopyBufferToImage | ( | VkBuffer | t_Buffer | ) |
| private

## ◆ Create()

std::shared_ptr< Fling::HDRImage > Fling::HDRImage::Create | ( | Guid | t_ID,
|  | LogicalDevice * | t_dev,
|  | void * | t_Data = `nullptr`
| ) |  |
| static

## ◆ CreateImageView()

void Fling::HDRImage::CreateImageView | ( |  | ) |
| private

## ◆ CreateTextureSampler()

void Fling::HDRImage::CreateTextureSampler | ( |  | ) |
| private

## ◆ GenerateMipMaps()

void Fling::HDRImage::GenerateMipMaps | ( | VkFormat | t_ImageFormat | ) |
| private

## ◆ GetChannels()

FORCEINLINE INT32 Fling::HDRImage::GetChannels | ( |  | ) | const
| inline

## ◆ GetDescriptorInfo()

FORCEINLINE VkDescriptorImageInfo* Fling::HDRImage::GetDescriptorInfo | ( |  | ) |
| inline

## ◆ GetHeight()

FORCEINLINE UINT32 Fling::HDRImage::GetHeight | ( |  | ) | const
| inline

## ◆ GetImageSize()

UINT64 Fling::HDRImage::GetImageSize | ( |  | ) | const
| inline

Get the Image Size object Multiply by 2 * 3 because there are 3 channels that are 2 bytes each Each channel is represented as a signed 16 (bit) float.

Returns
  UINT64

## ◆ GetMipLevels()

FORCEINLINE UINT32 Fling::HDRImage::GetMipLevels | ( |  | ) | const
| inline

## ◆ GetPixelData()

const float* Fling::HDRImage::GetPixelData | ( |  | ) | const
| inline

Get the Pixel Data as signed floats.

Returns
  const float*

## ◆ GetSampler()

FORCEINLINE const VkSampler& Fling::HDRImage::GetSampler | ( |  | ) | const
| inline

## ◆ GetVkImage()

FORCEINLINE const VkImage& Fling::HDRImage::GetVkImage | ( |  | ) | const
| inline

## ◆ GetVkImageFormat()

FORCEINLINE const VkFormat& Fling::HDRImage::GetVkImageFormat | ( |  | ) | const
| inline

## ◆ GetVkImageView()

FORCEINLINE const VkImageView& Fling::HDRImage::GetVkImageView | ( |  | ) | const
| inline

## ◆ GetWidth()

FORCEINLINE UINT32 Fling::HDRImage::GetWidth | ( |  | ) | const
| inline

## ◆ LoadVulkanImage()

void Fling::HDRImage::LoadVulkanImage | ( |  | ) |
| private

## ◆ Release()

void Fling::HDRImage::Release | ( |  | ) |

## Field Documentation

## ◆ m_Channels

INT32 Fling::HDRImage::m_Channels = 0
| private

## ◆ m_Device

const LogicalDevice* Fling::HDRImage::m_Device
| private

## ◆ m_Format

VkFormat Fling::HDRImage::m_Format = VK_FORMAT_R16G16B16_SFLOAT
| private

## ◆ m_Height

UINT32 Fling::HDRImage::m_Height = 0
| private

## ◆ m_Image

VkImage Fling::HDRImage::m_Image
| private

## ◆ m_ImageInfo

VkDescriptorImageInfo Fling::HDRImage::m_ImageInfo = {}
| private

## ◆ m_ImageView

VkImageView Fling::HDRImage::m_ImageView
| private

## ◆ m_Memory

VkDeviceMemory Fling::HDRImage::m_Memory
| private

## ◆ m_MipLevels

UINT32 Fling::HDRImage::m_MipLevels = 0
| private

## ◆ m_PixelData

float* Fling::HDRImage::m_PixelData
| private

## ◆ m_TextureSampler

VkSampler Fling::HDRImage::m_TextureSampler
| private

## ◆ m_Width

UINT32 Fling::HDRImage::m_Width = 0
| private

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

- FlingEngine/Resources/inc/HDRImage.h
- FlingEngine/Resources/src/HDRImage.cpp