You.i Engine
YiAssetTextureRaw.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_ASSET_TEXTURE_RAW_H_
3 #define _YI_ASSET_TEXTURE_RAW_H_
4 
12 
22 {
23 public:
28  {
33  };
34 
39 
40  virtual ~CYIAssetTextureRaw();
41 
54  void SetData(uint8_t *pData, int32_t nWidth, int32_t nHeight, YI_MEMORY_ACCESS memoryAccess);
55 
68  void SetData(uint8_t *pData, int32_t nWidth, int32_t nHeight, int32_t nPitch, YI_MEMORY_ACCESS memoryAccess);
69 
75  const uint8_t *GetData() const;
76 
82  uint8_t *GetData();
83 
90 
96  int32_t GetPitch() const;
97 
101  void ClearPixelData();
102 
103 protected:
104  virtual std::shared_ptr<IYIGPUObject> CreateGPUObject() const override;
105  virtual std::pair<uint32_t, uint32_t> GetApproximateSize() const override;
106 
107  virtual void OnUnload() override;
108 
109 private:
110  uint8_t *m_pData;
111  YI_MEMORY_ACCESS m_memoryAccess;
112  int32_t m_nPitch;
113 
115 };
116 
119 #endif // _YI_ASSET_TEXTURE_RAW_H_
USAGE
Definition: YiAssetTextureBase.h:49
virtual void OnUnload() override
Definition: YiAssetTextureRaw.h:29
virtual ~CYIAssetTextureRaw()
const uint8_t * GetData() const
CYIAssetTextureRaw(USAGE usage=USAGE_STATIC, IYIMaterialFactory::YI_COLORSPACE colorSpace=IYIMaterialFactory::YI_RGBA8888)
Definition: YiMaterialFactory.h:38
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
Definition: YiAssetTextureRaw.h:31
Definition: YiAssetTextureRaw.h:32
YI_MEMORY_ACCESS GetMemoryAccess() const
YI_MEMORY_ACCESS
Definition: YiAssetTextureRaw.h:27
Definition: YiAssetTextureBase.h:51
void SetData(uint8_t *pData, int32_t nWidth, int32_t nHeight, YI_MEMORY_ACCESS memoryAccess)
virtual std::shared_ptr< IYIGPUObject > CreateGPUObject() const override
A texture asset representing an image which will be loaded into the GPU.
Definition: YiAssetTextureRaw.h:21
YI_COLORSPACE
Definition: YiMaterialFactory.h:36
Definition: YiAssetTextureRaw.h:30
virtual std::pair< uint32_t, uint32_t > GetApproximateSize() const override
int32_t GetPitch() const
This asset represents the base class for POT (Power Of Two) and NPOT (Non-Power Of Two) textures...
Definition: YiAssetTextureBase.h:24