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

#include <RE_Texture2DArrayMap.h>

+ Inheritance diagram for RE_Texture2DArrayMap:

Public Types

typedef void(* RE_TextureHDAResolverCB )(const char *optable_optype, const char *pattern, UT_StringArray &files)

Public Member Functions

 RE_Texture2DArrayMap (bool is_tiled_texture=false, int u_stride=10)
 ~RE_Texture2DArrayMap () override
const char * className () const override
void enableTileSource (bool e, int u_stride=10)
int getTileStride () const
UT_DimRect getTileArea () const
 Returns the bounding area of the populated tiles. More...
void setImageList (const UT_StringArray &files, int max_width=0, int max_height=0)
int64 getMemoryUsage (bool inclusive) const override
RE_TextureDimension getMapType () override
RE_TextureMapclone () const override
void invalidateCached () override
void setUVTileMarker (const UT_StringRef &marker)
 Custom markers for %(UVTILE)d. More...
- Public Member Functions inherited from RE_TextureMap
virtual ~RE_TextureMap ()
bool setSource (const char *mapname, const char *relativeTo)
bool setSource (const char *mapname, UT_Functor2< IMG_File *, const char *, const IMG_FileParms & > file_open, UT_Functor1< void, IMG_File * > file_close)
bool setSource (const char *mapname, const char *relativeTo, RE_Texture *texture, RE_CacheVersion version, bool(*releaseCB)(RE_Texture *, void *), void *releaseObject)
void setNamespace (const char *ns)
void setSourceModifyCallback (const char *opname, bool(*modifyCallback)(RE_TextureMap *map, TexCBPixelData &pixdata, void *user_data), void *user_data)
void clearStoredTexture ()
void deleteTexRef (RE_Texture *tex)
RE_TextureHolder getTexture (RE_Render *r, bool deferred_load=false)
 Access to the texture itself. This method may actually build it. More...
RE_TextureHolder getCachedTexture (RE_Render *r)
 Access to the texture itself, this method will only check the cache. More...
RE_TexturegetUncachedTexture (RE_Render *r)
 Return a texture that is not cached in the GL cache. You own it. More...
bool hasTaggedTexture () const
void setVersion (RE_CacheVersion v)
void bumpVersion ()
RE_CacheVersion getVersion () const
const char * getMapName () const
const char * getRelativePath () const
void reset ()
void clear (const char *clear_name=nullptr)
bool isSourceValid ()
void setValidSourceResolve (bool valid)
bool hasValidSourceResolve () const
bool isLoadPending () const
void getResolution (int &w, int &h, int &d)
RE_GPUType getFormatType ()
int getFormatSize ()
float getAspectRatio ()
float getAspectRatioXZ ()
RE_TextureFilterfilter ()
const RE_TextureFilterfilter () const
void setColorSpace (PXL_ColorSpace space)
PXL_ColorSpace getColorSpace () const
void sizeTo (int w, int h, int d=1)
void scaleTo (fpreal w, fpreal h=-1.0f, fpreal d=-1.0f)
void maxSize (int w, int h, int d)
void maxMemSize (int mem_limit_mb)
void makePow2 (bool pow2)
void setCompression (RE_TextureCompress comp)
void setMipMap (bool mip)
void setTextureFormatOption (RE_TextureFormatExtra opt)
void setTextureComponent (int texcomp)
void fillRGBFromSingle (bool fill_rgb_mono)
void setOpaqueAlpha (bool opaque_alpha)
bool getOpaqueAlpha () const
void checkAlphaDetails (bool check)
IMG_FileAlphaInfo getAlphaDetails () const
void allowPreload (bool preload)
bool allowsPreload () const
virtual int getSourceOpID () const

Static Public Member Functions

static bool isArrayMap (const char *map_filename, const char *uv_marker=nullptr)
static void installHDACallback (RE_TextureHDAResolverCB cb)
- Static Public Member Functions inherited from RE_TextureMap
static RE_TextureMapnewTextureMap (RE_TextureDimension type)
static void backgroundTextureLoadThreads (int n)
static void textureReferenceDeleted (void *, RE_Texture *t)
static void setTextureCacheSize (int64 size_in_mb)
static int64 getTextureCacheSize ()
static int64 getTextureCacheUsage ()
static int64 get2DTextureUsage ()
static int64 get3DTextureUsage ()
static int64 getMipMapUsage ()
static int64 get3DTextureFP32Size ()
static int64 get3DTextureFP16Size ()
static int64 get2DTextureFP32Size ()
static int64 get2DTextureFP16Size ()
static int64 getOrig3DTextureFP32Size ()
static int64 getOrig3DTextureFP16Size ()
static int64 getOrig2DTextureFP32Size ()
static int64 getOrig2DTextureFP16Size ()
static void pruneTextureCache ()
static void clearTextureCache (bool full_clear)
static void debugDumpCache ()
static int getTextureCacheSerial ()
static void recordTextureMapUsage (bool enable)
static bool recordingTextureUsage ()
static void textureUsed (RE_Texture *tex)
static void textureDeleted (RE_Texture *tex)
static int getNumUsedTextureMaps ()
static int64 getUsedTextureMemory ()

Additional Inherited Members

- Protected Member Functions inherited from RE_TextureMap
 RE_TextureMap ()
virtual void buildSourceName (UT_String &cachedname, const char *map, const char *rel)
virtual void buildTextureName (UT_String &cachedname, const char *map, const char *rel)
re_AutoTextureSource getTextureSource (const char *map, const char *relto, void **tex_data, bool deferred_load=false, bool preload_only=false)
void getDesiredResolution (RE_GPUType type, int vsize, int *w, int *h, int *d)
void setPendingLoad (bool pend)
voidcallModifyCallback (RE_Texture *tex, void *data)
bool isNodeSource ()
RE_TextureCompress getCompression () const
bool getMipMap () const
RE_TexturegetTextureStub (bool preload)
void copy (const RE_TextureMap *src)
RE_TextureFormatExtra getTextureFormatOption () const
void setupGammaCorrect (IMG_FileParms &parms, const char *filename, RE_GPUType datatype)
RE_TextureHolder fetchTexture (RE_Render *r, bool build_if_missing, bool preload_only)
- Protected Attributes inherited from RE_TextureMap
RE_TextureCompress myCompression
fpreal myScale [3]
int myRes [3]
int myMaxRes [3]
int myMaxMemMB
int myMipMap
bool myMakePow2
UT_String myMapName
bool myAlphaDetails
IMG_FileAlphaInfo myAlphaInfo
UT_Functor2< IMG_File *, const
char *, const IMG_FileParms & > 
UT_Functor1< void, IMG_File * > myFileClose

Detailed Description

Definition at line 27 of file RE_Texture2DArrayMap.h.

Member Typedef Documentation

typedef void(* RE_Texture2DArrayMap::RE_TextureHDAResolverCB)(const char *optable_optype, const char *pattern, UT_StringArray &files)

Definition at line 79 of file RE_Texture2DArrayMap.h.

Constructor & Destructor Documentation

RE_Texture2DArrayMap::RE_Texture2DArrayMap ( bool  is_tiled_texture = false,
int  u_stride = 10 
RE_Texture2DArrayMap::~RE_Texture2DArrayMap ( )

Member Function Documentation

const char* RE_Texture2DArrayMap::className ( ) const

Reimplemented from RE_TextureMap.

Definition at line 34 of file RE_Texture2DArrayMap.h.

RE_TextureMap* RE_Texture2DArrayMap::clone ( ) const

Implements RE_TextureMap.

void RE_Texture2DArrayMap::enableTileSource ( bool  e,
int  u_stride = 10 

This texture array represents a UDIM or UV tile sequence for a tiled texture when this is enabled. The U stride is normally 10 for UDIM, and ignored for UV tile textures.

RE_TextureDimension RE_Texture2DArrayMap::getMapType ( )

Implements RE_TextureMap.

Definition at line 62 of file RE_Texture2DArrayMap.h.

int64 RE_Texture2DArrayMap::getMemoryUsage ( bool  inclusive) const

Returns the amount of main memory owned by this object. GL Textures are shared in the texture cache itself.

Reimplemented from RE_TextureMap.

UT_DimRect RE_Texture2DArrayMap::getTileArea ( ) const

Returns the bounding area of the populated tiles.

Definition at line 46 of file RE_Texture2DArrayMap.h.

int RE_Texture2DArrayMap::getTileStride ( ) const

Returns the detected udim stride (not the u_stride above). This is the number of images in the U direction for tiled textures.

Definition at line 43 of file RE_Texture2DArrayMap.h.

static void RE_Texture2DArrayMap::installHDACallback ( RE_TextureHDAResolverCB  cb)

Definition at line 83 of file RE_Texture2DArrayMap.h.

void RE_Texture2DArrayMap::invalidateCached ( )

Reimplemented from RE_TextureMap.

static bool RE_Texture2DArrayMap::isArrayMap ( const char *  map_filename,
const char *  uv_marker = nullptr 

Returns true if the string is a tiled texture (UDIM or UV Tile) based on the prescense of %(UDIM), %(U), %(V) or %(UVTILE) in the filename. Optional udim_marker and uv_marker allow UDIM and/or UVTILE to be customized

void RE_Texture2DArrayMap::setImageList ( const UT_StringArray files,
int  max_width = 0,
int  max_height = 0 

Sets a series of image files for the 2D array. They will appear in the texture layers in the same order as passed. The resolution of the array will be files.entries() layers, and the width and height will be the maximum width and height of all images, up to max_width and max_height if they are non-zero. An empty string can be passed to fill that layer with (1,1,1,1).

void RE_Texture2DArrayMap::setUVTileMarker ( const UT_StringRef marker)

Custom markers for %(UVTILE)d.

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