You.i Engine
CYIAssetTexture Class Reference

Detailed Description

A texture asset representing an image which will be loaded into the GPU.

This texture asset contains a CYIBitmap image and is used by You.i Engine's asset management system when loading assets.

See also

#include <asset/YiAssetTexture.h>

Inheritance diagram for CYIAssetTexture:

Public Member Functions

 CYIAssetTexture (Usage usage=Usage::Static)
 CYIAssetTexture (const CYIString &path, PathType pathType=PathType::Relative, Usage usage=Usage::Static)
virtual ~CYIAssetTexture ()
virtual int32_t GetWidth () const override
virtual int32_t GetHeight () const override
const std::shared_ptr< CYIBitmap > & GetBitmap ()
void SetBitmap (const std::shared_ptr< CYIBitmap > &pBitmap)
void SetBitmap (std::unique_ptr< CYIBitmap > pBitmap)
virtual std::pair< size_t, size_tGetApproximateSize () const override
- Public Member Functions inherited from CYIAssetTextureBase
 CYIAssetTextureBase (Usage usage=Usage::Static)
virtual ~CYIAssetTextureBase () override
void AddDirtyRegion (const YI_RECT_REL &dirtyRectangle)
void GrowDirtyRegion (const YI_RECT_REL &dirtyRectangle)
void ClearDirtyRegions ()
const std::vector< YI_RECT_REL > & GetDirtyRegions () const
const TextureConfigGetConfiguration () const
IYIMaterialFactory::ColorSpace GetColorSpace () const
void SetConfiguration (const TextureConfig &config)
void SetMinificationFilter (Filtering minFilter=Filtering::Linear, Filtering magFilter=Filtering::Linear)
void SetMipmappingEnabled (bool enable)
bool IsMipmappingEnabled () const
void SetTextureWrap (WrapMode wrapS=WrapMode::ClampToEdge, WrapMode wrapT=WrapMode::ClampToEdge)
virtual bool HasExtendedDimensions () const
Usage GetUsage () const
virtual void ApplyRetainmentPolicy () override
- Public Member Functions inherited from CYIAssetHardware
 CYIAssetHardware ()
virtual ~CYIAssetHardware () override
virtual bool RequestHardwareLoad ()
virtual bool RequestHardwareUnload ()
virtual bool RequestInvalidate ()
virtual bool RequestRestore ()
virtual bool Prepare () override
const std::shared_ptr< IYIGPUObject > & GetGPUObject () const
bool IsLoadedOnGPU () const
RetentionPolicy GetRetentionPolicy () const
void SetRetentionPolicy (RetentionPolicy policy)
- Public Member Functions inherited from CYIAsset
virtual ~CYIAsset ()
const CYIStringGetPath () const
CYIAssetLoadParamsGetLoadParameters () const
bool SetName (const CYIString &name)
const CYIStringGetName () const
bool Load ()
void Unload ()
bool IsLoaded () const
bool Equals (const std::shared_ptr< CYIAsset > &pAsset)

Static Public Member Functions

static uint32_t GetBytesPerPixelFromColorSpace (IYIMaterialFactory::ColorSpace colorSpace)

Protected Member Functions

virtual std::shared_ptr< IYIGPUObjectCreateGPUObject () const override
virtual void OnUnload () override
- Protected Member Functions inherited from CYIAssetTextureBase
virtual void DirtyEntireTexture ()
void SetWidth (int32_t width)
void SetHeight (int32_t height)
void SetColorSpace (IYIMaterialFactory::ColorSpace colorSpace)
- Protected Member Functions inherited from CYIAssetHardware
virtual void OnLoad () override
- Protected Member Functions inherited from CYIAsset
 CYIAsset ()
ssize_t GetID () const
void SetPath (const CYIString &path, PathType pathType)
void SetApproximateSize (size_t size)
void SetLoaded (bool assetLoaded)
void SetLoadParameters (std::unique_ptr< CYIAssetLoadParams > pParams)

Additional Inherited Members

- Public Types inherited from CYIAssetTextureBase
enum  Filtering {
enum  WrapMode {
enum  Usage {
- Public Types inherited from CYIAssetHardware
enum  RetentionPolicy {
  RetentionPolicy::Retain = 0,
 The CYIAssetHardware::RetentionPolicy enum specifies the retention policy of static hardware assets from the CPU memory once they are loaded into the GPU memory. More...
- Public Types inherited from CYIAsset
enum  PathType {
  PathType::Absolute = 0,
- Protected Attributes inherited from CYIAssetHardware
bool m_hardwareLoadRequested
std::shared_ptr< IYIGPUObjectm_pGPUObject
RetentionPolicy m_retentionPolicy
- Static Protected Attributes inherited from CYIAsset
static ssize_t INVALID_ID

Constructor & Destructor Documentation

◆ CYIAssetTexture() [1/2]

CYIAssetTexture::CYIAssetTexture ( Usage  usage = Usage::Static)

◆ CYIAssetTexture() [2/2]

CYIAssetTexture::CYIAssetTexture ( const CYIString path,
PathType  pathType = PathType::Relative,
Usage  usage = Usage::Static 

◆ ~CYIAssetTexture()

virtual CYIAssetTexture::~CYIAssetTexture ( )

Member Function Documentation

◆ CreateGPUObject()

virtual std::shared_ptr<IYIGPUObject> CYIAssetTexture::CreateGPUObject ( ) const

Each sub-type must implement this function and returns an IYIGPUObject representing the hardware type.

Implements CYIAssetTextureBase.

◆ GetApproximateSize()

virtual std::pair<size_t, size_t> CYIAssetTexture::GetApproximateSize ( ) const

Calculates and returns the approximate number of bytes currently used by this asset. The first item of the returned pair object represents the memory currently taken in the CPU main memory, and the second item of the returned pair object represents the memory currently taken in the GPU memory.

This function only returns an approximate memory consumption as the exact memory consumption changes depending on the used C++ libraries and on the specific GPU infrastructure and drivers used by the system.

Reimplemented from CYIAsset.

◆ GetBitmap()

const std::shared_ptr<CYIBitmap>& CYIAssetTexture::GetBitmap ( )

Returns the underlying bitmap associated with this texture asset. If the asset will be loaded if it is not currently loaded.

See also

◆ GetBytesPerPixelFromColorSpace()

static uint32_t CYIAssetTexture::GetBytesPerPixelFromColorSpace ( IYIMaterialFactory::ColorSpace  colorSpace)

Returns the number of bytes per pixel for a given ColorSpace.

◆ GetHeight()

virtual int32_t CYIAssetTexture::GetHeight ( ) const

Returns the height of the underlying bitmap, in pixels. If the bitmap has not been set the height of the CYIAssetTextureBase will be returned, this is the cached height of the last bitmpa set on this texture asset.

See also

Reimplemented from CYIAssetTextureBase.

◆ GetWidth()

virtual int32_t CYIAssetTexture::GetWidth ( ) const

Returns the width of the underlying bitmap, in pixels. If the bitmap is not available the width of the base CYIAssetTextureBase will be returned, this is the cached width of the last bitmap set on this texture asset.

See also

Reimplemented from CYIAssetTextureBase.

◆ OnUnload()

virtual void CYIAssetTexture::OnUnload ( )

Implements CYIAssetTextureBase.

◆ SetBitmap() [1/2]

void CYIAssetTexture::SetBitmap ( const std::shared_ptr< CYIBitmap > &  pBitmap)

Sets a new bitmap on this texture asset using a shared pointer, pBitmap.

◆ SetBitmap() [2/2]

void CYIAssetTexture::SetBitmap ( std::unique_ptr< CYIBitmap pBitmap)

Sets a new bitmap on this texture asset using a raw pointer, pBitmap.

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