24 virtual void Create()
override;
25 virtual void Destroy()
override;
32 void Init(uint32_t width, uint32_t height, uint8_t* data);
36 void UpdatePixels(
const uint8_t* data,
size_t byteSize);
42 void FinalizeDeferredImport(std::vector<uint8_t>&& pixels, uint32_t width, uint32_t height);
48 static bool LoadFromMemory(
const uint8_t* data,
size_t size,
Texture& out);
50 void SetMipmapped(
bool mipmapped);
54 bool IsMipmapped()
const;
55 bool IsRenderTarget()
const;
57 bool IsForcedHighQuality()
const;
59 uint32_t GetWidth()
const;
60 uint32_t GetHeight()
const;
61 uint32_t GetMipLevels()
const;
62 uint32_t GetLayers()
const;
66 int32_t GetLowQualityDownsampleFactor()
const;
76 void SetUVMax(glm::vec2 uvMax) { mUvMax = uvMax; }
81 void SetForceHighQuality(
bool forceHq);
83 static bool HandlePropChange(
class Datum* datum, uint32_t index,
const void* newValue);
89 void RecreateResource();
92 const std::vector<uint8_t>&
GetPixels()
const {
return mPixels; }
134 bool mRetainPixels =
false;
139 glm::vec2 mUvMax = glm::vec2(1.0f, 1.0f);
142 uint32_t mResourceGeneration = 0;
Platform
Definition EngineTypes.h:32
PixelFormat
Definition GraphicsTypes.h:45
FilterType
Definition GraphicsTypes.h:103
WrapMode
Definition GraphicsTypes.h:111
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
virtual bool Import(const std::string &path, ImportOptions *options=nullptr)
Definition Asset.cpp:342
virtual void Create()
Definition Asset.cpp:78
virtual void SaveStream(Stream &stream, Platform platform)
Definition Asset.cpp:334
virtual glm::vec4 GetTypeColor()
Definition Asset.cpp:352
virtual const char * GetTypeImportExt()
Definition Asset.cpp:362
virtual const char * GetTypeName()
Definition Asset.cpp:357
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Asset.cpp:347
virtual void LoadStream(Stream &stream, Platform platform)
Definition Asset.cpp:320
virtual void Destroy()
Definition Asset.cpp:93
PixelFormat mFormat
Definition Texture.h:121
uint32_t mLayers
Definition Texture.h:120
WrapMode mWrapMode
Definition Texture.h:123
FilterType mFilterType
Definition Texture.h:122
uint32_t mWidth
Definition Texture.h:117
bool mSrgb
Definition Texture.h:126
bool GetRetainPixels() const
Definition Texture.h:102
std::vector< uint8_t > mPixels
Definition Texture.h:146
bool mMipmapped
Definition Texture.h:124
TextureResource mResource
Definition Texture.h:149
bool mForceHighQuality
Definition Texture.h:127
bool mRenderTarget
Definition Texture.h:125
DECLARE_ASSET(Texture, Asset)
uint32_t GetResourceGeneration() const
Definition Texture.h:113
uint32_t mHeight
Definition Texture.h:118
glm::vec2 GetUVMax() const
Definition Texture.h:75
void SetUVMax(glm::vec2 uvMax)
Definition Texture.h:76
const std::vector< uint8_t > & GetPixels() const
Definition Texture.h:92
void SetRetainPixels(bool retain)
Definition Texture.h:101
uint32_t mMipLevels
Definition Texture.h:119
uint8_t mLowQualityDownsampleFactor
Definition Texture.h:128
Definition GraphicsTypes.h:126