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

マクロ More...

#include <GxResShader.h>

Inheritance diagram for GxResShaderBase:
Collaboration diagram for GxResShaderBase:

Classes

struct  GxCreateCallbackArgument
 リソース作成時コールバックの引数情報 More...
 
struct  GxResShaderHeader
 シェーダリソース情報ヘッダー More...
 

Protected Attributes

メンバ変数
GxRenderShader_pRenderShader
 シェーダポインタ
 
GxResShaderHeader _header
 ヘッダー情報
 
void * _pShaderCode
 シェーダーコードポインタ
 
b32 _usePragma
 プラグマを使用するか
 
GX_CSTR _entryName
 エントリー名
 
- Protected Attributes inherited from GxClassBaseReference
s32 _referenceCount
 参照カウンタ
 
s32 _delayReleaseCount
 遅延解放カウンタ
 

Static Protected Attributes

定義
static GX_CSTR SHADER_ENTRYPOINT = "shaderMain"
 シェーダエントリポイント関数名定義
 

初期化

 GxResShaderBase (void)
 コンストラクタ
 
void cleanup (void) override
 解放
 

操作

virtual GX_FORCE_INLINE b32 createShader (void)
 シェーダ生成 (※継承先で実装)
 
void createCallback (void *pUser)
 リソース作成時コールバック
 
b32 readShaderCode (GxStreamReader &reader)
 シェーダコード読み込み
 
b32 readConstantRegisterTable (GxStreamReader &reader)
 定数レジスタテーブル読み込み
 
void setConstantRegisterSetInformation (GxRenderShader::GxRegisterSet *pConstantRegisterSet, void *pConstantRegisterParameterTable)
 定数レジスタセット情報設定
 
b32 load (GxStream &stream, u32 dataSize)
 リソース読み込み
 

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...
 
- 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)
 デフォルトオブジェクト判定
 
- 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

マクロ

シェーダリソース基底クラス (抽象Rttiクラス)

Member Function Documentation

◆ cleanup()

void GxResShaderBase::cleanup ( void )
overridevirtual

解放

Reimplemented from GxResBase.

◆ createCallback()

void GxResShaderBase::createCallback ( void * pUser)
protected

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

Parameters
pUserユーザー指定引数

◆ createShader()

virtual GX_FORCE_INLINE b32 GxResShaderBase::createShader ( void )
inlineprotectedvirtual

シェーダ生成 (※継承先で実装)

Reimplemented in GxResShaderPixel, and GxResShaderVertex.

Here is the caller graph for this function:

◆ load()

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

リソース読み込み

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

◆ readConstantRegisterTable()

b32 GxResShaderBase::readConstantRegisterTable ( 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:

◆ readShaderCode()

b32 GxResShaderBase::readShaderCode ( 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:

◆ setConstantRegisterSetInformation()

void GxResShaderBase::setConstantRegisterSetInformation ( GxRenderShader::GxRegisterSet * pConstantRegisterSet,
void * pConstantRegisterParameterTable )
protected

定数レジスタセット情報設定

Parameters
pConstantRegisterSet[in,out] 定数レジスタセット情報設定先ポインタ
pConstantRegisterParameterTable[in] 定数レジスタパラメータテーブルポインタ
Note
_header の情報を元に割り当てを行います
Here is the caller graph for this function:

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