OROCHI
 
Loading...
Searching...
No Matches
GxResTexture Class Reference

テクスチャリソース More...

#include <GxResTexture.h>

Inheritance diagram for GxResTexture:
Collaboration diagram for GxResTexture:

Classes

struct  GxCreateCallbackArgument
 リソース作成時コールバックの引数情報 More...
 
struct  GxTextureInformation
 テクスチャヘッダー情報構造体 More...
 

Public Member Functions

初期化
 GxResTexture (void)
 コンストラクタ
 
void cleanup (void) override
 解放
 
アクセサ
constexpr GxRenderTexturegetTexture (void) const
 テクスチャ管理クラス取得
 
GX_FORCE_INLINE const GxTextureInformationgetInformation (void) const
 テクスチャ情報取得
 
GX_FORCE_INLINE void * getBuffer (void) const
 メインメモリ退避用バッファを取得
 
GX_FORCE_INLINE void setIsNoResFinalized (b32 state)
 loadFromFile() で作成されたかを設定(内部使用)
 
GX_FORCE_INLINE b32 isNoResFinalized (void) const
 loadFromFile() で作成されたかを取得(内部使用)
 
- Public Member Functions inherited from GxResBase
s32 release (void) override
 解放
 
virtual GX_FORCE_INLINE void callback (void)
 
constexpr u64 getId (void) const
 ID取得
 
GX_FORCE_INLINE void setPath (GX_CSTR path)
 パス設定
 
constexpr GX_CSTR getPath (void) const
 パス取得
 
constexpr u32 getFileSize (void) const
 ファイルサイズ取得
 
constexpr u32 getSize (void) const
 サイズ取得
 
constexpr GxResBasegetConfig (void) const
 コンフィグ取得
 
constexpr ASYNC_STATE getAsyncState (void) const
 非同期ステート取得
 
GX_FORCE_INLINE b32 isAsyncState (ASYNC_STATE asyncState) const
 非同期ステート判定
 
GX_FORCE_INLINE b32 isAsyncStateWorking (void) const
 非同期動作中判定
 
constexpr ASYNC_PRIORITY getAsyncPriority (void) const
 非同期優先度取得
 
GX_FORCE_INLINE b32 isUsable (void) const
 使用可能判定
 
constexpr GX_CSTR getExtension (void) const
 拡張子取得
 
constexpr u32 getMagicNumber (void) const
 マジックナンバー取得
 
constexpr u32 getVersion (void) const
 バージョン取得
 
GX_FORCE_INLINE void setOriginalPath (GX_CSTR path)
 オリジナルパス設定
 
constexpr GX_CSTR getOriginalPath (void) const
 オリジナルパス取得
 
GX_FORCE_INLINE b32 isResourceBaseAttribute (RESOURCE_BASE_ATTRIBUTE attribute) const
 リソース属性判定
 
- Public Member Functions inherited from GxClassBaseReference
 GxClassBaseReference (void)
 コンストラクタ
 
 GxClassBaseReference (const GxClassBaseReference &base)
 コピーコンストラクタ
 
 ~GxClassBaseReference (void) override
 デストラクタ
 
constexpr GxClassBaseReferenceoperator= (const GxClassBaseReference &base)
 代入演算子
 
virtual s32 addReference (void)
 参照カウンタを加算
 
virtual s32 getReferenceCount (void) const
 参照カウンタを取得
 
constexpr void setDelayReleaseCount (s32 count)
 遅延解放カウンタを設定
 
void setDelayReleaseCountInfinity (b32 on)
 無限解放待ちの設定
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Protected Attributes

メンバ変数
GxRenderTexture_pTexture
 テクスチャ管理
 
GxTextureInformation _textureInformation
 テクスチャ情報
 
void * _pBuffer
 メインメモリ退避用バッファ
 
- Protected Attributes inherited from GxClassBaseReference
s32 _referenceCount
 参照カウンタ
 
s32 _delayReleaseCount
 遅延解放カウンタ
 

Static Protected Attributes

定義
static const u32 RESOURCE_VERSION = 16
 
static constexpr u32 TEXTURE_BITCOUNT_8 = GxMath::VALUE_8
 テクスチャビット数:8
 
static constexpr u32 TEXTURE_BITCOUNT_16 = GxMath::VALUE_16
 テクスチャビット数:16
 
static constexpr u32 TEXTURE_BITCOUNT_24 = 24
 テクスチャビット数:24
 
static constexpr u32 TEXTURE_BITCOUNT_32 = GxMath::VALUE_32
 テクスチャビット数:32
 

操作

b32 load (GxStream &stream, u32 dataSize)
 リソース読み込み
 
b32 setTexture (GxRenderTexture *pRenderTexture)
 既存テクスチャの設定
 
b32 uploadTextureToVideoMemory (void)
 VRAMへ転送
 
void deleteTextureFromVideoMemory (void)
 VRAMから破棄
 
static b32 saveAsBmp (GX_CSTR fileName, u32 *pImage, s32 width, s32 height, u32 bytePerPixel)
 bmpファイル形式で保存
 
static b32 saveAsPng (GX_CSTR fileName, u32 *pImage, s32 width, s32 height, u32 bytePerPixel)
 pngファイル形式で保存
 
static b32 writeAsPng (GxStreamWriter &writer, u32 *pImage, s32 pitch, s32 width, s32 height, u32 bytePerPixel)
 pngファイル形式で書き込み
 
static GxResTextureloadFromFile (const GxRttiResource &resRtti, GX_CSTR fileName)
 ファイルからリソースを作る便利関数
 
b32 createTexture (void)
 テクスチャ作成
 
b32 loadTexture (GxStreamReader &reader)
 テクスチャ読み込み
 
b32 loadTextureMainMemory (GxStream &stream, u32 dataSize)
 メインメモリにテクスチャ読み込み
 
void createCallback (void *pUser)
 リソース作成時コールバック
 

Additional Inherited Members

- Public Types inherited from GxResBase
enum class  ASYNC_STATE {
  LOADING = 0 , COMPLETE , CANCEL_REQUAST , INITIALIZED ,
  ERROR_ = -1 , CANCELED = -2
}
 非同期ロード状態 More...
 
enum class  ASYNC_PRIORITY { NORMAL = 0 , LOW }
 非同期ロード優先 More...
 
enum class  RESOURCE_BASE_ATTRIBUTE {
  USE_DATA_FROM_SYSTEM , ANY_PATH_RESOURCE , USE_MAIN_MEMORY , REGISTERED_NON_REPLACED ,
  ASYNC_SET_RESOURCE
}
 基底リソース属性定義 More...
 
- Static Public Member Functions inherited from GxResBase
static void registerCustomProperty (void)
 カスタムプロパティ登録
 
static void customPropertyToString (GxProperty &property, GxTypedObject *pOwner, u32 index, GxString *pString, u32 &stringCount)
 カスタムプロパティ処理 (プロパティ → 文字列)
 
static void customPropertyFromString (GxProperty &property, GxTypedObject *pOwner, u32 index, GxString *pString, u32 stringCount)
 カスタムプロパティ処理 (文字列 → プロパティ)
 
static u32 customPropertyGetSerializedBinarySize (GxProperty &property, GxTypedObject *pOwner, u32 index)
 カスタムプロパティ処理 (シリアライズ後バイナリサイズ取得)
 
static void * customPropertySerializeBinary (GxProperty &property, GxTypedObject *pOwner, u32 index, void *pData)
 カスタムプロパティ処理 (バイナリシリアライズ)
 
static const void * customPropertyDeserializeBinary (GxProperty &property, GxTypedObject *pOwner, u32 index, const void *pData)
 カスタムプロパティ処理 (バイナリデシリアライズ)
 
- Static Public Member Functions inherited from GxClassBaseReference
static void initializeDelayRelease (void)
 遅延解放リストの初期化
 
static void terminateDelayRelease (void)
 遅延解放リストの終了
 
static void updateDelayRelease (void)
 遅延解放リストの更新
 
static b32 isDelayReleaseEnable (void)
 遅延解放システムの有効判定
 
static u32 getDelayReleaseListCount (void)
 遅延解放待ちの数を取得
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxResBase
static const u32 RESOURCE_VERSION = 2
 リソースバージョン定義
 
static constexpr u32 RESOURCE_PATH_MAX = GxMath::VALUE_256
 リソースパス最大長
 
static constexpr u32 RESOURCE_CUSTOM_PROPERTY_STRING_NUM = GxMath::VALUE_2
 リソースカスタムプロパティ文字列登録数 (クラス名 + パス)
 
static constexpr u32 RESOURCE_PATH_ENCRYPT_KEY_NUM = GxMath::VALUE_8
 暗号化キー個数
 
- Static Public Attributes inherited from GxClassBaseReference
static constexpr s32 DELAY_RELEASE_COUNT_INFINITY = -1
 遅延解放の無限待ち定義
 
- Protected Member Functions inherited from GxResBase
 GxResBase (void)
 コンストラクタ (※本クラスの直接インスタンス化禁止)
 
void createCallback (void *pUser)
 生成時コールバック
 
b32 load (GxStream &stream, u32 size)
 ロード
 
b32 loadBinary (GxStream &stream)
 バイナリリソースのロード
 
constexpr void setId (u64 id)
 ID設定
 
constexpr void setFileSize (u32 fileSize)
 ファイルサイズ設定
 
constexpr void setSize (u32 size)
 サイズ設定
 
GX_FORCE_INLINE void setConfig (GxResBase *pConfig)
 コンフィグ設定
 
constexpr void setAsyncState (ASYNC_STATE asyncState)
 非同期ステート設定
 
constexpr void setAsyncPriority (ASYNC_PRIORITY asyncPriority)
 非同期優先度設定
 
constexpr GX_HANDLE getAsyncHandle (void) const
 非同期読込みハンドル取得
 
constexpr void setAsyncHandle (GX_HANDLE handle)
 非同期読込みハンドル設定
 
GX_FORCE_INLINE void setUsable (b32 flag)
 使用可能設定
 
GX_FORCE_INLINE GxZlibgetZlib (void)
 Zlib取得
 
constexpr void * getDataFromSystem (void)
 システム受け渡しデータを取得
 
GX_FORCE_INLINE void setResourceBaseAttribute (RESOURCE_BASE_ATTRIBUTE attribute, b32 enable)
 リソース属性設定
 

Detailed Description

テクスチャリソース

Member Function Documentation

◆ cleanup()

void GxResTexture::cleanup ( void )
overridevirtual

解放

Reimplemented from GxResBase.

◆ createCallback()

void GxResTexture::createCallback ( void * pUser)
protected

リソース作成時コールバック

Parameters
pUser[in] ユーザーデータ

◆ createTexture()

b32 GxResTexture::createTexture ( void )
protected

テクスチャ作成

Returns
成功ならtrue
Note
作成するテクスチャ情報は _textureInformation から取得
Here is the call graph for this function:
Here is the caller graph for this function:

◆ load()

b32 GxResTexture::load ( GxStream & stream,
u32 dataSize )

リソース読み込み

Parameters
stream[in,out] 読み込み元ストリーム
dataSize[in] データサイズ
Returns
成功ならtrue
Here is the call graph for this function:

◆ loadFromFile()

GxResTexture * GxResTexture::loadFromFile ( const GxRttiResource & resRtti,
GX_CSTR fileName )
static

ファイルからリソースを作る便利関数

Parameters
resRtti[in] リソースの型 (GxResTexturePng::GX_RTTI など)
fileName[in] ファイル名
Returns
失敗した場合は nullptr を返す。インスタンスを返した場合は、ユーザーが責任を持って解放する
Here is the call graph for this function:

◆ loadTexture()

b32 GxResTexture::loadTexture ( GxStreamReader & reader)
protected

テクスチャ読み込み

Parameters
reader[in,out] テクスチャ読み込みストリームリーダー
Returns
成功ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadTextureMainMemory()

b32 GxResTexture::loadTextureMainMemory ( GxStream & stream,
u32 dataSize )
protected

メインメモリにテクスチャ読み込み

Parameters
stream[in,out] テクスチャ読み込みストリーム
dataSize[in] 読み込むサイズ
Returns
成功ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ saveAsBmp()

b32 GxResTexture::saveAsBmp ( GX_CSTR fileName,
u32 * pImage,
s32 width,
s32 height,
u32 bytePerPixel )
static

bmpファイル形式で保存

Parameters
fileName[in] 保存ファイル名
pImage[in] 保存するイメージの生データの先頭ポインタ (RGBA)
width[in] 横ピクセル数
height[in] 縦ピクセル数
bytePerPixel[in] ピクセル当たりのバイト数(3 又は 4)
Returns
処理結果 (true 成功)
Here is the call graph for this function:

◆ saveAsPng()

b32 GxResTexture::saveAsPng ( GX_CSTR fileName,
u32 * pImage,
s32 width,
s32 height,
u32 bytePerPixel )
static

pngファイル形式で保存

Parameters
fileName[in] 保存ファイル名
pImage[in] 保存するイメージの生データの先頭ポインタ (RGBA)
width[in] 横ピクセル数
height[in] 縦ピクセル数
bytePerPixel[in] ピクセル当たりのバイト数(3 又は 4)
Returns
成功ならtrue
Here is the call graph for this function:

◆ setTexture()

b32 GxResTexture::setTexture ( GxRenderTexture * pTexture)

既存テクスチャの設定

Parameters
pTexture[in] 該当テクスチャ管理クラス
Returns
成功ならtrue
Here is the call graph for this function:

◆ uploadTextureToVideoMemory()

b32 GxResTexture::uploadTextureToVideoMemory ( void )

VRAMへ転送

Returns
成功ならtrue
Here is the call graph for this function:

◆ writeAsPng()

b32 GxResTexture::writeAsPng ( GxStreamWriter & writer,
u32 * pImage,
s32 pitch,
s32 width,
s32 height,
u32 bytePerPixel )
static

pngファイル形式で書き込み

Parameters
writer[in] 書き込むストリーム
pImage[in] 保存するイメージの生データの先頭ポインタ (RGBA)
pitch[in] ピッチ
width[in] 横ピクセル数
height[in] 縦ピクセル数
bytePerPixel[in] ピクセル当たりのバイト数(3 又は 4)
Returns
成功ならtrue
Here is the caller graph for this function:

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