HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RV_VKImageCreateInfo Class Reference

#include <RV_VKImage.h>

+ Inheritance diagram for RV_VKImageCreateInfo:

Public Member Functions

void setImageType (RV_ImageDim img_type)
 Define if the image is 1D, 2D, or 3D. More...
 
VkImageType getImageType () const
 The Vulkan image type. More...
 
RV_ImageDim getRVImageType () const
 The RV image type. More...
 
void setFormat (VkFormat format)
 Set the vulkan image format. RV. More...
 
VkFormat getFormat () const
 
VkImageSubresourceRange getFullSubRes () const
 Returns a vulkan subresource object for the full image. More...
 
void setSize (int w, int h, int d)
 
int getWidth () const
 
int getHeight () const
 
int getDepth () const
 
void setSamples (int samples)
 Define the number of samples in a multisampled 2D image. More...
 
int getSamples () const
 
void setLayerCount (int count)
 Define the number of layers in a 1D or 2D array. More...
 
int getLayerCount () const
 
void setMaxLevelCount (int count)
 Set the maximum number of mipmap levels. More...
 
int getMaxLevelCount () const
 
int getLevelCount () const
 
void setTextureMagFilter (RV_TextureFilter filter)
 Set the texture filter for texture scales above 1. More...
 
void setTextureMinFilter (RV_TextureFilter filter)
 Set the texture filter for texture scales below 1. More...
 
void setTextureMipMode (RV_TextureMipMode mode)
 Set the mipmapping mode - DISABLED, NEAREST mipmap, or LINEAR blend. More...
 
void setTextureWrap (RV_TextureWrap u, RV_TextureWrap v, RV_TextureWrap w)
 Set the wrapping mode when uv is outside [0,1]:REPEAT,CLAMP,BORDER,MIRROR. More...
 
RV_TextureWrap getTextureWrapU ()
 
RV_TextureWrap getTextureWrapV ()
 
RV_TextureWrap getTextureWrapW ()
 
void setUsageStorageBit (bool b)
 
bool getUsageStorageBit () const
 
void setUseLinearTiling (bool use)
 Use linear tiling (true) or optimal tiling. Not all types support linear. More...
 
bool getUseLinearTiling () const
 
void setMemoryType (RV_MemType type)
 
RV_MemType getMemoryType () const
 
const VkImageCreateInfogetVkInfo () const
 Access the vulkan creation structure for this image. More...
 
virtual bool fillCreateInfo ()
 
 RV_VKImageCreateInfo ()=default
 
virtual RV_VKImageCreateInfoclone () const
 
virtual ~RV_VKImageCreateInfo ()
 

Protected Member Functions

 RV_VKImageCreateInfo (const RV_VKImageCreateInfo &)=default
 
bool isValidForLinearTiling () const
 
void addNext (VkBaseOutStructure *p)
 
virtual RV_MemType getAllocType (RV_Instance *inst)
 Setup allocation info for memory. More...
 

Protected Attributes

uint32_t mySamples = 0
 
int myMaxLevels = 1
 
bool myUseLinearTiling = false
 
RV_MemType myMemType = RV_MEM_AUTO
 
RV_ImageDim myRVImageType = RV_IMAGE_2D
 
fpreal32 myMinLOD = 0.0
 
fpreal32 myMaxLOD = VK_LOD_CLAMP_NONE
 
bool myIsNormalized = false
 
bool myIsTexelSampled = false
 
bool myUsageStorageBit = false
 
RV_TextureFilter myMagFilterMode = RV_FILTER_LINEAR
 
RV_TextureFilter myMinFilterMode = RV_FILTER_LINEAR
 
RV_TextureMipMode myMipMode = RV_MIPMAP_LINEAR
 
RV_TextureWrap myWrapU = RV_TEX_WRAP_REPEAT
 
RV_TextureWrap myWrapV = RV_TEX_WRAP_REPEAT
 
RV_TextureWrap myWrapW = RV_TEX_WRAP_REPEAT
 
UT_Vector4F myBorderColor = {0.f, 0.f, 0.f, 0.f}
 
VkImageCreateInfo myVkCreateInfo
 

Friends

class RV_VKImage
 

Detailed Description

Class for Setting up Image Info Should be trivially copiable, so it can be duplicated or passed around Once a VkImage is created, it is immutable so changing a parameter means creating a new image

Definition at line 47 of file RV_VKImage.h.

Constructor & Destructor Documentation

RV_VKImageCreateInfo::RV_VKImageCreateInfo ( )
default
virtual RV_VKImageCreateInfo::~RV_VKImageCreateInfo ( )
virtual
RV_VKImageCreateInfo::RV_VKImageCreateInfo ( const RV_VKImageCreateInfo )
protecteddefault

Member Function Documentation

void RV_VKImageCreateInfo::addNext ( VkBaseOutStructure p)
inlineprotected

Extend Image Create Info struct. Used by subclasses to create different types of images

Definition at line 187 of file RV_VKImage.h.

virtual RV_VKImageCreateInfo* RV_VKImageCreateInfo::clone ( ) const
inlinevirtual

Reimplemented in RV_VKInteropImageCreateInfo.

Definition at line 172 of file RV_VKImage.h.

virtual bool RV_VKImageCreateInfo::fillCreateInfo ( )
virtual

Finalize Create Info struct before being passed to Vulkan API, and perform any final checks. To Be called by Vulkan Image allocate function. Returns false if any checks fail

Reimplemented in RV_VKInteropImageCreateInfo.

virtual RV_MemType RV_VKImageCreateInfo::getAllocType ( RV_Instance inst)
protectedvirtual

Setup allocation info for memory.

Reimplemented in RV_VKInteropImageCreateInfo.

int RV_VKImageCreateInfo::getDepth ( ) const
inline

Definition at line 86 of file RV_VKImage.h.

VkFormat RV_VKImageCreateInfo::getFormat ( ) const
inline

Definition at line 65 of file RV_VKImage.h.

VkImageSubresourceRange RV_VKImageCreateInfo::getFullSubRes ( ) const

Returns a vulkan subresource object for the full image.

int RV_VKImageCreateInfo::getHeight ( ) const
inline

Definition at line 84 of file RV_VKImage.h.

VkImageType RV_VKImageCreateInfo::getImageType ( ) const
inline

The Vulkan image type.

Definition at line 55 of file RV_VKImage.h.

int RV_VKImageCreateInfo::getLayerCount ( ) const
inline

Definition at line 104 of file RV_VKImage.h.

int RV_VKImageCreateInfo::getLevelCount ( ) const
inline

Definition at line 116 of file RV_VKImage.h.

int RV_VKImageCreateInfo::getMaxLevelCount ( ) const
inline

Definition at line 113 of file RV_VKImage.h.

RV_MemType RV_VKImageCreateInfo::getMemoryType ( ) const
inline

Definition at line 157 of file RV_VKImage.h.

RV_ImageDim RV_VKImageCreateInfo::getRVImageType ( ) const
inline

The RV image type.

Definition at line 57 of file RV_VKImage.h.

int RV_VKImageCreateInfo::getSamples ( ) const
inline

Definition at line 95 of file RV_VKImage.h.

RV_TextureWrap RV_VKImageCreateInfo::getTextureWrapU ( )
inline

Definition at line 137 of file RV_VKImage.h.

RV_TextureWrap RV_VKImageCreateInfo::getTextureWrapV ( )
inline

Definition at line 139 of file RV_VKImage.h.

RV_TextureWrap RV_VKImageCreateInfo::getTextureWrapW ( )
inline

Definition at line 141 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::getUsageStorageBit ( ) const
inline

Definition at line 146 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::getUseLinearTiling ( ) const
inline

Definition at line 152 of file RV_VKImage.h.

const VkImageCreateInfo* RV_VKImageCreateInfo::getVkInfo ( ) const
inline

Access the vulkan creation structure for this image.

Definition at line 161 of file RV_VKImage.h.

int RV_VKImageCreateInfo::getWidth ( ) const
inline

Definition at line 82 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::isValidForLinearTiling ( ) const
protected
void RV_VKImageCreateInfo::setFormat ( VkFormat  format)
inline

Set the vulkan image format. RV.

Definition at line 64 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setImageType ( RV_ImageDim  img_type)

Define if the image is 1D, 2D, or 3D.

void RV_VKImageCreateInfo::setLayerCount ( int  count)
inline

Define the number of layers in a 1D or 2D array.

Definition at line 99 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setMaxLevelCount ( int  count)
inline

Set the maximum number of mipmap levels.

Definition at line 108 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setMemoryType ( RV_MemType  type)
inline

Definition at line 155 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setSamples ( int  samples)
inline

Define the number of samples in a multisampled 2D image.

Definition at line 90 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setSize ( int  w,
int  h,
int  d 
)
inline

Defines the size of the image (width, height, depth). 1D and 2D images ignore some of the sizes.

Definition at line 72 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setTextureMagFilter ( RV_TextureFilter  filter)
inline

Set the texture filter for texture scales above 1.

Definition at line 124 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setTextureMinFilter ( RV_TextureFilter  filter)
inline

Set the texture filter for texture scales below 1.

Definition at line 127 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setTextureMipMode ( RV_TextureMipMode  mode)
inline

Set the mipmapping mode - DISABLED, NEAREST mipmap, or LINEAR blend.

Definition at line 130 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setTextureWrap ( RV_TextureWrap  u,
RV_TextureWrap  v,
RV_TextureWrap  w 
)
inline

Set the wrapping mode when uv is outside [0,1]:REPEAT,CLAMP,BORDER,MIRROR.

Definition at line 134 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setUsageStorageBit ( bool  b)
inline

Definition at line 144 of file RV_VKImage.h.

void RV_VKImageCreateInfo::setUseLinearTiling ( bool  use)
inline

Use linear tiling (true) or optimal tiling. Not all types support linear.

Definition at line 150 of file RV_VKImage.h.

Friends And Related Function Documentation

friend class RV_VKImage
friend

Definition at line 239 of file RV_VKImage.h.

Member Data Documentation

UT_Vector4F RV_VKImageCreateInfo::myBorderColor = {0.f, 0.f, 0.f, 0.f}
protected

Definition at line 218 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::myIsNormalized = false
protected

Definition at line 209 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::myIsTexelSampled = false
protected

Definition at line 210 of file RV_VKImage.h.

RV_TextureFilter RV_VKImageCreateInfo::myMagFilterMode = RV_FILTER_LINEAR
protected

Definition at line 212 of file RV_VKImage.h.

int RV_VKImageCreateInfo::myMaxLevels = 1
protected

Definition at line 200 of file RV_VKImage.h.

fpreal32 RV_VKImageCreateInfo::myMaxLOD = VK_LOD_CLAMP_NONE
protected

Definition at line 208 of file RV_VKImage.h.

RV_MemType RV_VKImageCreateInfo::myMemType = RV_MEM_AUTO
protected

Definition at line 203 of file RV_VKImage.h.

RV_TextureFilter RV_VKImageCreateInfo::myMinFilterMode = RV_FILTER_LINEAR
protected

Definition at line 213 of file RV_VKImage.h.

fpreal32 RV_VKImageCreateInfo::myMinLOD = 0.0
protected

Definition at line 207 of file RV_VKImage.h.

RV_TextureMipMode RV_VKImageCreateInfo::myMipMode = RV_MIPMAP_LINEAR
protected

Definition at line 214 of file RV_VKImage.h.

RV_ImageDim RV_VKImageCreateInfo::myRVImageType = RV_IMAGE_2D
protected

Definition at line 204 of file RV_VKImage.h.

uint32_t RV_VKImageCreateInfo::mySamples = 0
protected

Definition at line 199 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::myUsageStorageBit = false
protected

Definition at line 211 of file RV_VKImage.h.

bool RV_VKImageCreateInfo::myUseLinearTiling = false
protected

Definition at line 202 of file RV_VKImage.h.

VkImageCreateInfo RV_VKImageCreateInfo::myVkCreateInfo
protected
RV_TextureWrap RV_VKImageCreateInfo::myWrapU = RV_TEX_WRAP_REPEAT
protected

Definition at line 215 of file RV_VKImage.h.

RV_TextureWrap RV_VKImageCreateInfo::myWrapV = RV_TEX_WRAP_REPEAT
protected

Definition at line 216 of file RV_VKImage.h.

RV_TextureWrap RV_VKImageCreateInfo::myWrapW = RV_TEX_WRAP_REPEAT
protected

Definition at line 217 of file RV_VKImage.h.


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