15GX_CORE_NAMESPACE_BEGIN()
41 static const u32 RESOURCE_VERSION;
170 GX_RTTI_STRUCT(GxResTexture::GxImportSetting)
184 GX_ENUM_TABLE_MAX(COMPRESS)
194 GxImportSetting(
void) : _compressFormat(COMPRESS::
NONE), _isSRGB(false){}
202 COMPRESS _compressFormat;
232 void resizeBuffer(
const GxSize& size);
234 void writeBuffer(
void* pBuffer,
const GxRect& rect);
236 GxRtti* getUnitRtti(
void )
override;
247 static b32 saveAsBmp(GX_CSTR fileName, u32* pImage, s32 width, s32 height, u32 bytePerPixel);
249 static b32 saveAsPng(GX_CSTR fileName, u32* pImage, s32 width, s32 height, u32 bytePerPixel);
250#if GX_USE_DX11 || GX_USE_DX12
252 static void nativeToRGBA32(u32* pMemory, u32 width, u32 height);
254 static void addChromaRGBA32(u32* pMemory, u32 width, u32 height,
GxColor chromaKeyColor);
264 void getToolRtti(
GxArray& arrayTool)
const override;
279 void createCallback(void* pUser);
285 virtual b32 loadTextureMappingData(
GxStreamReader& reader, u32 arrayIndex, u32 mipmapLevel);
290 virtual b32 saveTextureMappingData(
GxStreamWriter& writer, u32 arrayIndex, u32 mipmapLevel);
292 void saveImportSetting(
void);
294 f32 convertToSRGB(f32 value);
317 static void getImportSettingPath(
GxString& path, GX_CSTR resourcePath);
330 GxImportSetting _importSetting;
353 enum class BMP_FORMAT
372 struct BmpInformationHeader
412 GX_MEMSET(&_fileHeader, 0,
sizeof(BmpFileHeader));
413 GX_MEMSET(&_informationHeader, 0,
sizeof(BmpInformationHeader));
433 BmpFileHeader _fileHeader;
434 BmpInformationHeader _informationHeader;
457 DDSD_CAPS = 0x00000001,
458 DDSD_HEIGHT = 0x00000002,
459 DDSD_WIDTH = 0x00000004,
460 DDSD_PITCH = 0x00000008,
461 DDSD_PIXELFORMAT = 0x00001000,
462 DDSD_MIPMAPCOUNT = 0x00020000,
463 DDSD_LINEARSIZE = 0x00080000,
464 DDSD_DEPTH = 0x00800000
469 DDPF_ALPHAPIXELS = 0x00000001,
470 DDPF_ALPHA = 0x00000002,
471 DDPF_FOURCC = 0x00000004,
472 DDPF_PALETTEINDEXED4 = 0x00000008,
473 DDPF_PALETTEINDEXED8 = 0x00000020,
474 DDPF_RGB = 0x00000040,
475 DDPF_LUMINANCE = 0x00020000,
476 DDPF_BUMPDUDV = 0x00080000
481 DDSCAPS1_ALPHA = 0x00000002,
482 DDSCAPS1_COMPLEX = 0x00000008,
483 DDSCAPS1_TEXTURE = 0x00001000,
484 DDSCAPS1_MIPMAP = 0x00040000
489 DDSCAPS2_CUBEMAP = 0x00000200,
490 DDSCAPS2_CUBEMAP_POSITIVEX = 0x00000400,
491 DDSCAPS2_CUBEMAP_NEGATIVEX = 0x00000800,
492 DDSCAPS2_CUBEMAP_POSITIVEY = 0x00001000,
493 DDSCAPS2_CUBEMAP_NEGATIVEY = 0x00002000,
494 DDSCAPS2_CUBEMAP_POSITIVEZ = 0x00004000,
495 DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x00008000,
496 DDSCAPS2_VOLUME = 0x00200000
509 enum class DXT10FORMAT
511 R32G32B32A32_FLOAT = 2,
512 R16G16B16A16_FLOAT = 10,
513 R10G10B10A2_UNORM = 24,
514 R11G11B10_FLOAT = 26,
516 R8G8B8A8_UNORM_SRGB = 29,
545 struct DdsPixelFormat
564 struct DdsFormatHeader
571 static constexpr u32 RESERVED1_SIZE = 11;
621 u32 _pitchOrLinearSize;
624 u32 _reserved1[RESERVED1_SIZE];
625 DdsPixelFormat _pixelFormat;
627 u32 _reserved2[RESERVED2_SIZE];
640 GxResTextureDds(
void){ GX_MEMSET(&_fileHeader, 0,
sizeof(DdsFileHeader)); GX_MEMSET(&_formatHeader, 0,
sizeof(DdsFormatHeader)); }
659 DdsFileHeader _fileHeader;
660 DdsFormatHeader _formatHeader;
743 void* _pReadInformation;
790 jpeg_decompress_struct _jpegInformation;
791 jpeg_error_mgr _jpegError;
853 enum class TGA_FORMAT
863 struct TgaInformationHeader
914 TgaInformationHeader _informationHeader;
919GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
RENDER_ATTRIBUTE
バッファの属性
Definition GxRender.h:158
RENDER_FORMAT
フォーマット
Definition GxRender.h:269
RENDER_TEXTURE_TYPE
テクスチャ形式
Definition GxRender.h:405
配列クラス
Definition GxArray.h:18
算術演算クラス
Definition GxMath.h:84
static constexpr u32 VALUE_32
32
Definition GxMath.h:124
static constexpr u32 VALUE_16
16
Definition GxMath.h:123
static constexpr u32 VALUE_1
1
Definition GxMath.h:119
static constexpr u32 VALUE_8
8
Definition GxMath.h:122
テクスチャクラス
Definition GxRenderTexture.h:19
リソース基底クラス
Definition GxResBase.h:23
Bmpテクスチャリソース
Definition GxResTexture.h:340
GxResTextureBmp(void)
コンストラクタ
Definition GxResTexture.h:410
b32 loadTextureMappingData(GxStreamReader &reader, u32 arrayIndex, u32 mipmapLevel) override
テクスチャマッピングデータ読み込み
Definition GxResTexture.cpp:1554
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み (BMPファイル)
Definition GxResTexture.cpp:1446
Ddsテクスチャリソース
Definition GxResTexture.h:443
b32 loadTextureMappingData(GxStreamReader &reader, u32 arrayIndex, u32 mipmapLevel) override
テクスチャマッピングデータ読み込み
Definition GxResTexture.cpp:1878
GxResTextureDds(void)
コンストラクタ
Definition GxResTexture.h:640
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み (DDSファイル)
Definition GxResTexture.cpp:1694
テクスチャリソース
Definition GxResTexture.h:23
static constexpr u32 TEXTURE_BITCOUNT_24
テクスチャビット数:24
Definition GxResTexture.h:48
GxResTexture(void)
コンストラクタ
Definition GxResTexture.h:216
void deleteTextureFromVideoMemory(void)
VRAMから破棄
Definition GxResTexture.cpp:371
static constexpr u32 TEXTURE_BITCOUNT_16
テクスチャビット数:16
Definition GxResTexture.h:46
static b32 saveAsBmp(GX_CSTR fileName, u32 *pImage, s32 width, s32 height, u32 bytePerPixel)
bmpファイル形式で保存
Definition GxResTexture.cpp:1093
void cleanup(void) override
解放
Definition GxResTexture.cpp:103
constexpr GxRenderTexture * getTexture(void) const
テクスチャ管理クラス取得
Definition GxResTexture.h:304
GX_FORCE_INLINE void setIsNoResFinalized(b32 state)
loadFromFile() で作成されたかを設定(内部使用)
Definition GxResTexture.h:311
static b32 saveAsPng(GX_CSTR fileName, u32 *pImage, s32 width, s32 height, u32 bytePerPixel)
pngファイル形式で保存
Definition GxResTexture.cpp:1183
b32 createTexture(void)
テクスチャ作成
Definition GxResTexture.cpp:381
GX_FORCE_INLINE void * getBuffer(void) const
メインメモリ退避用バッファを取得
Definition GxResTexture.h:308
static b32 writeAsPng(GxStreamWriter &writer, u32 *pImage, s32 pitch, s32 width, s32 height, u32 bytePerPixel)
pngファイル形式で書き込み
Definition GxResTexture.cpp:1212
static constexpr u32 TEXTURE_BITCOUNT_8
テクスチャビット数:8
Definition GxResTexture.h:44
GxTextureInformation _textureInformation
テクスチャ情報
Definition GxResTexture.h:327
void * _pBuffer
メインメモリ退避用バッファ
Definition GxResTexture.h:328
static GxResTexture * loadFromFile(const GxRttiResource &resRtti, GX_CSTR fileName)
ファイルからリソースを作る便利関数
Definition GxResTexture.cpp:1369
b32 loadTexture(GxStreamReader &reader)
テクスチャ読み込み
Definition GxResTexture.cpp:450
GX_FORCE_INLINE b32 isNoResFinalized(void) const
loadFromFile() で作成されたかを取得(内部使用)
Definition GxResTexture.h:313
b32 uploadTextureToVideoMemory(void)
VRAMへ転送
Definition GxResTexture.cpp:348
b32 loadTextureMainMemory(GxStream &stream, u32 dataSize)
メインメモリにテクスチャ読み込み
Definition GxResTexture.cpp:519
static constexpr u32 TEXTURE_BITCOUNT_32
テクスチャビット数:32
Definition GxResTexture.h:50
GxRenderTexture * _pTexture
テクスチャ管理
Definition GxResTexture.h:326
b32 setTexture(GxRenderTexture *pRenderTexture)
既存テクスチャの設定
Definition GxResTexture.cpp:316
b32 load(GxStream &stream, u32 dataSize)
リソース読み込み
Definition GxResTexture.cpp:119
GX_FORCE_INLINE const GxTextureInformation & getInformation(void) const
テクスチャ情報取得
Definition GxResTexture.h:306
Jpegテクスチャリソース
Definition GxResTexture.h:753
GxResTextureJpeg(void)
デフォルトコンストラクタ
Definition GxResTexture.h:771
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み
Definition GxResTexture.cpp:2894
b32 loadTextureMappingData(GxStreamReader &reader, u32 arrayIndex, u32 mipmapLevel) override
テクスチャマッピングデータ読み込み
Definition GxResTexture.cpp:2950
Pngテクスチャリソース
Definition GxResTexture.h:705
b32 loadTextureMappingData(GxStreamReader &reader, u32 arrayIndex, u32 mipmapLevel) override
テクスチャマッピングデータ読み込み
Definition GxResTexture.cpp:2770
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み (PNGファイル)
Definition GxResTexture.cpp:2486
GxResTexturePng(void)
コンストラクタ
Definition GxResTexture.h:722
PVRテクスチャリソース
Definition GxResTexture.h:801
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み (PVRファイル)
Definition GxResTexture.cpp:3037
b32 loadTextureMappingData(GxStreamReader &reader, u32 arrayIndex, u32 mipmapLevel) override
テクスチャマッピングデータ読み込み
Definition GxResTexture.cpp:3050
GxResTexturePvr(void)
コンストラクタ
Definition GxResTexture.h:819
Dds (SRGB) テクスチャリソース
Definition GxResTexture.h:669
GxResTextureSdds(void)
コンストラクタ
Definition GxResTexture.h:687
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み
Definition GxResTexture.cpp:2437
Tgaテクスチャリソース
Definition GxResTexture.h:840
GxResTextureTga(void)
コンストラクタ
Definition GxResTexture.h:895
b32 loadHeader(GxStreamReader &reader) override
ヘッダー読み込み (Tgaファイル)
Definition GxResTexture.cpp:3105
b32 loadTextureMappingData(GxStreamReader &reader, u32 arrayIndex, u32 mipmapLevel) override
テクスチャマッピングデータ読み込み
Definition GxResTexture.cpp:3175
実行時型情報クラス
Definition GxRtti.h:154
リソース実行時型情報クラス
Definition GxRttiResource.h:188
ストリーム基礎クラス
Definition GxStream.h:20
ストリーム読み込みクラス
Definition GxStreamReader.h:19
ストリーム書き込みクラス
Definition GxStreamWriter.h:19
矩形
Definition GxStruct.h:951
リソース作成時コールバックの引数情報
Definition GxResTexture.h:36
u32 _attribute
属性
Definition GxResTexture.h:37
テクスチャヘッダー情報構造体
Definition GxResTexture.h:54
RENDER_TEXTURE_TYPE _textureType
テクスチャタイプ
Definition GxResTexture.h:149
u32 _mipmapLevel
ミップマップレベル
Definition GxResTexture.h:151
constexpr RENDER_FORMAT getPixelFormat(void) const
ピクセルフォーマット取得
Definition GxResTexture.h:119
static constexpr u32 ARRAY_LEVEL_2D
2Dテクスチャ配列数
Definition GxResTexture.h:64
~GxTextureInformation(void)
デストラクタ
Definition GxResTexture.h:94
u32 _attribute
属性(RENDER_ATTRIBUTE)
Definition GxResTexture.h:148
u32 _width
幅
Definition GxResTexture.h:146
constexpr u32 getOriginalMipmapLevel(void) const
オリジナルミップマップレベル取得
Definition GxResTexture.h:115
constexpr u32 getMipmapLevel(void) const
ミップマップレベル取得
Definition GxResTexture.h:113
constexpr void getOriginalWidthProperty(void *const pValue) const
オリジナル幅取得
Definition GxResTexture.h:132
constexpr u32 getArrayLevel(void) const
配列レベル取得
Definition GxResTexture.h:111
constexpr void getMipmapLevelProperty(void *const pValue) const
ミップマップレベル取得
Definition GxResTexture.h:130
static constexpr u32 ARRAY_LEVEL_3D
2Dテクスチャ配列数
Definition GxResTexture.h:66
constexpr RENDER_TEXTURE_TYPE getTextureType(void) const
テクスチャタイプ取得
Definition GxResTexture.h:109
u32 _originalMipmapLevel
オリジナルのミップマップレベル (リダクションされていない場合のミップマップ段数)
Definition GxResTexture.h:153
constexpr RENDER_ATTRIBUTE getAttribute(void) const
描画属性取得
Definition GxResTexture.h:117
constexpr u32 getOriginalWidth(void) const
オリジナル幅取得
Definition GxResTexture.h:121
RENDER_FORMAT _pixelFormat
ピクセルフォーマット
Definition GxResTexture.h:152
u32 _depthOrArrayCount
テクスチャ配列数(CUBEの場合は6枚, 3Dテクスチャの場合は深度)
Definition GxResTexture.h:150
constexpr u32 getDepth(void) const
深さ取得
Definition GxResTexture.h:107
constexpr void getOriginalMipmapLevelProperty(void *const pValue) const
オリジナルミップマップレベル取得
Definition GxResTexture.h:136
constexpr void getHeightProperty(void *const pValue) const
高さ取得
Definition GxResTexture.h:128
constexpr u32 getHeight(void) const
高さ取得
Definition GxResTexture.h:105
void getPixelFormatProperty(void *const pValue) const
ピクセルフォーマット取得
Definition GxResTexture.cpp:884
static constexpr u32 MIPMAP_LEVEL_MIN
ミップマップ段数最低値
Definition GxResTexture.h:70
static constexpr u32 ARRAY_LEVEL_CUBE
キューブマップテクスチャ配列数 (CUBE → 6面)
Definition GxResTexture.h:68
u32 _height
高さ
Definition GxResTexture.h:147
u32 _isNoResFinalized
描画リソースとして loadFromFile() で作成されたか
Definition GxResTexture.h:154
constexpr void getWidthProperty(void *const pValue) const
幅取得
Definition GxResTexture.h:126
u32 _reserved
予約領域
Definition GxResTexture.h:155
static constexpr u32 MIPMAP_LEVEL_MAX
ミップマップ段数最高値
Definition GxResTexture.h:72
constexpr void getOriginalHeightProperty(void *const pValue) const
オリジナル高さ取得
Definition GxResTexture.h:134
constexpr u32 getWidth(void) const
幅取得
Definition GxResTexture.h:103
constexpr u32 getOriginalHeight(void) const
オリジナル高さ取得
Definition GxResTexture.h:123
サイズ
Definition GxStruct.h:730
文字列型クラス
Definition GxString.h:18
32bitブーリアン
Definition GxDefine.h:173