4#include "gfx/Texture.h"
6using namespace System::Runtime::InteropServices;
48 DBGPRINTF(
"[warn] texture attached to multiple managed resource. (%s)",
obj ?
obj->getFileName() :
"nullobj");
56 DBGPRINTF(
"[warn] unattached texture was detached. (%s)",
obj ?
obj->getFileName() :
"nullobj");
92 return obj->getWidth();
98 return obj->getHeight();
104 return obj->getStoredWidth();
110 return obj->getStoredHeight();
118 else obj->setMagFilter(kmyGfx::Texture::kFILTER_NEAREST);
126 else obj->setMinFilter(kmyGfx::Texture::kFILTER_NEAREST);
133 obj->setUWrap(f ==
WRAPTYPE::kCLAMP ? kmyGfx::WRAPTYPE::kWRAPTYPE_CLAMP : kmyGfx::WRAPTYPE::kWRAPTYPE_REPEAT);
134 obj->setVWrap(f ==
WRAPTYPE::kCLAMP ? kmyGfx::WRAPTYPE::kWRAPTYPE_CLAMP : kmyGfx::WRAPTYPE::kWRAPTYPE_REPEAT);
141 obj->setUWrap(f ==
WRAPTYPE::kCLAMP ? kmyGfx::WRAPTYPE::kWRAPTYPE_CLAMP : kmyGfx::WRAPTYPE::kWRAPTYPE_REPEAT);
148 obj->setVWrap(f ==
WRAPTYPE::kCLAMP ? kmyGfx::WRAPTYPE::kWRAPTYPE_CLAMP : kmyGfx::WRAPTYPE::kWRAPTYPE_REPEAT);
155 obj->setWWrap(f ==
WRAPTYPE::kCLAMP ? kmyGfx::WRAPTYPE::kWRAPTYPE_CLAMP : kmyGfx::WRAPTYPE::kWRAPTYPE_REPEAT);
160 if (
obj)
obj->setAnisotropy(v);
165 if (
obj)
obj->setType((kmyGfx::TEXTURETYPE)type);
170 if (
obj)
obj->setUsage((kmyGfx::TEXTUREUSAGE)usage);
175 if (
obj)
obj->setCompress(flg);
180 if (
obj)
obj->setPremultiplied((kmyGfx::PremultipliedType)premultiplied);
187 void create(
int width,
int height,
bool srgb,
int miplevel);
195 static void getColor(System::String^ name, [System::Runtime::InteropServices::Out] array<UINT32>^% list,
int% width,
int% height);
205 return kmyGfx::GfxDriver::getInstance()->getMaxTexture2DSize();
217 kmyGfx::Texture::forceReloadFileTextures();
220 void getColor([System::Runtime::InteropServices::Out] array<UINT32>^% list,
int level);
239 auto format =
obj->getFormat();
static void getColor(System::String^ name, [System::Runtime::InteropServices::Out] array< UINT32 >^% list, int% width, int% height)
Texture(kmyGfx::Texture *t)
Definition: Texture.h:28
System::String getFilePath()
Definition: Texture.cpp:430
void setGenMipmap(bool flg)
Definition: Texture.h:228
bool isEqual(SharpKmyGfx::Texture^ t)
Definition: Texture.h:61
void storeSubPixel2DDelay(int x, int y, int w, int h, array< UINT32 >^ list, TEXTUREFFORMAT format, int sx, int sy, int swidth, int level)
Definition: Texture.cpp:217
void managedResourceAttach()
Definition: Texture.h:45
static void forceReloadFileTextures()
Definition: Texture.h:216
void storeSubPixel2D(int x, int y, int w, int h, array< UINT32 >^ list, TEXTUREFFORMAT format, int sx, int sy, int swidth, int level)
void enableWrite()
Definition: Texture.h:189
void setSrgb(bool b)
Definition: Texture.h:227
Texture()
Definition: Texture.h:20
System::Guid getGuid()
Definition: Texture.cpp:440
void removeRef()
Definition: Texture.h:231
int getStoredWidth()
Definition: Texture.h:101
void setAnisotropy(float v)
Definition: Texture.h:158
int getStoredHeight()
Definition: Texture.h:107
void setMinFilter(TEXTUREFILTER f)
Definition: Texture.h:121
int getRef()
Definition: Texture.h:233
int getHeight()
Definition: Texture.h:95
bool isSrgb()
Definition: Texture.h:226
bool managedResourceAttached
Definition: Texture.h:14
void setCompress(bool flg)
Definition: Texture.h:173
static void textureStoreJobDispatchAll()
Definition: Texture.cpp:89
TEXTUREFFORMAT getTextureFormat()
Definition: Texture.h:235
static int getMaxTexture2DSize()
Definition: Texture.h:203
Texture makeNewReference()
Definition: Texture.h:35
static array< System::String^> getLoadableFileList(System::String^ path)
Definition: Texture.cpp:132
void create(int width, int height, bool srgb, int miplevel)
Definition: Texture.cpp:172
void getColor([System::Runtime::InteropServices::Out] array< UINT32 >^% list, int level)
void reloadIfLoaded()
Definition: Texture.h:232
void setPremultiplied(PREMULTIPLIEDTYPE premultiplied)
Definition: Texture.h:178
int getWidth()
Definition: Texture.h:89
static void pushFindTextureBaseDirectory(String^ path)
Definition: Texture.cpp:53
void setWrap(WRAPTYPE f)
Definition: Texture.h:129
void setType(int type)
Definition: Texture.h:163
void setWWrap(WRAPTYPE f)
Definition: Texture.h:151
static void textureStoreJobWaitQueuedJobFinished()
Definition: Texture.cpp:96
bool isReloadRequired()
Definition: Texture.h:183
~Texture()
Definition: Texture.h:40
void renamePath(System::String^ path)
Definition: Texture.cpp:159
System::String getFileName()
Definition: Texture.cpp:420
static int getTextureStoreJobSerial()
Definition: Texture.cpp:73
static Texture load(System::String^ path, bool srgb, TEXTURESHAPE shape, TEXTUREUSAGE usage)
kmyGfx::Texture * obj
Definition: Texture.h:17
void managedResourceDetach()
Definition: Texture.h:53
static bool textureStoreJobFinished(int serial)
Definition: Texture.cpp:81
bool deleteAsCreator
Definition: Texture.h:18
void setGuid(System::Guid id)
Definition: Texture.cpp:462
void setUWrap(WRAPTYPE f)
Definition: Texture.h:137
Texture(System::String^ path, System::Guid guid, int type, bool srgb, bool genmipmap, TEXTUREUSAGE usage, bool compress, PREMULTIPLIEDTYPE premultiplied)
void Release()
Definition: Texture.h:67
static Texture load(System::IO::Stream^ stream, bool srgb, bool genmipmap, TEXTURESHAPE shape, TEXTUREUSAGE usage)
System::String loadpath
Definition: Texture.h:19
void setMagFilter(TEXTUREFILTER f)
Definition: Texture.h:113
static void popFindTextureBaseDirectory()
Definition: Texture.cpp:65
void setVWrap(WRAPTYPE f)
Definition: Texture.h:144
void copyTexture2DDelay(int dx, int dy, int dw, int dh, int dlevel, int sx, int sy, int slevel, Texture^ src)
Definition: Texture.cpp:210
void setUsage(TEXTUREUSAGE usage)
Definition: Texture.h:168
void addRef()
Definition: Texture.h:230
void apply()
Definition: Texture.h:190
void Delete()
Definition: Texture.h:78
PREMULTIPLIEDTYPE
Definition: GfxTypes.h:199
TEXTURESHAPE
Definition: GfxTypes.h:206
TEXTUREFFORMAT
Definition: GfxTypes.h:156
TEXTUREUSAGE
Definition: GfxTypes.h:192
TEXTUREFILTER
Definition: GfxTypes.h:145
WRAPTYPE
Definition: GfxTypes.h:150