VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
venom::common::TextureImpl Class Referenceabstract
+ Inheritance diagram for venom::common::TextureImpl:

Classes

class  GUITexture
 

Public Member Functions

vc::Error SaveImageToFile (const char *path)
 
vc::Error LoadImageFromFile (const char *path)
 
vc::Error LoadImage (const char *path, int id, char *bgraData, unsigned int width, unsigned int height)
 
vc::Error InitDepthBuffer (int width, int height)
 
vc::Error CreateReadWriteTexture (int width, int height, vc::ShaderVertexFormat format, int mipMapLevels, int arrayLayers=1)
 Corresponds to Storage Images / Sampled Images for Vulkan for instance Switch between layouts or types is handled automatically.
 
vc::Error CreateAttachment (int width, int height, int imageCount, vc::ShaderVertexFormat format)
 
vc::Error CreateShadowMaps (int dimension)
 
vc::Error CreateShadowCubeMaps (int dimension)
 
virtual bool HasTexture () const =0
 
vc::Error SetMemoryAccess (const TextureMemoryAccess access)
 
virtual vc::Error LoadImage (unsigned char *pixels, int width, int height, int channels)=0
 
virtual vc::Error LoadImageRGBA (unsigned char *pixels, int width, int height, int channels)=0
 
virtual vc::Error LoadImage (uint16_t *pixels, int width, int height, int channels)=0
 
void SetTexturePeakLuminance (float peakLuminance)
 
void SetTextureAverageLuminance (float averageLuminance)
 
const float & GetTexturePeakLuminance () const
 
const float & GetTextureAverageLuminance () const
 
const TextureMemoryAccess & GetMemoryAccess () const
 
bool operator== (const GraphicsCachedResource *res) const
 
vc::Error GetGUITextureID (void **ptrToTextureId)
 
virtual int GetWidth () const =0
 
virtual int GetHeight () const =0
 
virtual void SetDimensions (int width, int height)=0
 
- Public Member Functions inherited from venom::common::PluginObjectImpl
template<class T>
T * As ()
 
template<class T>
const T * As () const
 
template<class T>
T * ConstAs () const
 
template<class T>
T * RAs ()
 
template<class T>
const T * RAs () const
 
void IncRefCount ()
 
void DecRefCount ()
 
- Public Member Functions inherited from venom::common::GraphicsPluginObject
virtual void Destroy () override
 /!\ THIS FUNCTION MUST BE CALLED FOR DESTRUCTION, DO NOT USE delete
 
- Public Member Functions inherited from venom::common::PluginObject
 PluginObject (const PluginType type)
 
PluginType GetType () const override
 
template<class T>
T * DAs ()
 
template<class T>
const T * DAs () const
 
- Public Member Functions inherited from venom::common::GraphicsCachedResourceHolder
template<typename T>
T * As ()
 
void SetResource (const GraphicsCachedResourceHolder &resource)
 
void SetResource (const SPtr< GraphicsCachedResource > &resource)
 
const vc::String & GetResourceName () const
 
const vc::String & GetResourceShortName () const
 

Static Public Member Functions

static const TextureImplGetDummyTexture ()
 
- Static Public Member Functions inherited from venom::common::GraphicsPluginObject
static bool HasCachedObject (const vc::String &path)
 Checks if an object is in the cache.
 
static SPtr< GraphicsCachedResourceGetCachedObject (const vc::String &path)
 Gets a cached object from the graphics cache.
 
static const vc::UMap< vc::String, vc::SPtr< GraphicsCachedResource > > & GetCachedObjects ()
 Gets all cached objects.
 

Protected Member Functions

virtual vc::Error _InitDepthBuffer (int width, int height)=0
 
virtual vc::Error _CreateAttachment (int width, int height, int imageCount, vc::ShaderVertexFormat format)=0
 
virtual vc::Error _SetMemoryAccess (const TextureMemoryAccess access)=0
 
virtual vc::Error _CreateReadWriteTexture (int width, int height, vc::ShaderVertexFormat format, int mipMapLevels, int arrayLayers)=0
 
virtual vc::Error _CreateShadowMaps (int dimension)=0
 
virtual vc::Error _CreateShadowCubeMaps (int dimension)=0
 
virtual vc::Error _SaveImageToFile (const char *path)=0
 
virtual GUITexture_NewGuiTextureInstance ()=0
 
- Protected Member Functions inherited from venom::common::GraphicsCachedResourceHolder
const SPtr< GraphicsCachedResource > & _GetResourceToCache () const
 
SPtr< GraphicsCachedResource > & _GetResourceToCache ()
 
void _LoadFromCache (const SPtr< GraphicsCachedResource > &cache)
 
virtual void _ResetResource ()=0
 Resets the resource, should be implemented by the final class, i.e. VulkanTextureResource.
 

Static Protected Member Functions

static void UnloadAllGuiTextures ()
 
- Static Protected Member Functions inherited from venom::common::GraphicsPluginObject
static void _SetInCache (const vc::String &path, const SPtr< GraphicsCachedResource > &object)
 Sets an object in the cache.
 
static void _SetCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
static void _AddCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 

Protected Attributes

TextureType _textureType
 
TextureUsage _textureUsage
 
- Protected Attributes inherited from venom::common::GraphicsCachedResourceHolder
SPtr< GraphicsCachedResource_resource
 

Friends

class Texture
 

Member Function Documentation

◆ CreateReadWriteTexture()

vc::Error venom::common::TextureImpl::CreateReadWriteTexture ( int width,
int height,
vc::ShaderVertexFormat format,
int mipMapLevels,
int arrayLayers = 1 )

Corresponds to Storage Images / Sampled Images for Vulkan for instance Switch between layouts or types is handled automatically.

Parameters
width
height
format
mipMapLevels
arrayLayers
Returns

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