シェーダパッケージクラス More...
#include <GxShaderPackage.h>
Classes | |
struct | GxFunction |
関数情報構造体 More... | |
struct | GxFunctionFile |
関数のファイル位置構造体 More... | |
struct | GxFunctions |
関数配列構造体 More... | |
struct | GxFunctionsFile |
関数配列のファイル位置構造体 More... | |
struct | GxParameter |
パラメータ構造体 More... | |
struct | GxParameterFile |
パラメータのファイル位置構造体 More... | |
struct | GxShaderCode |
シェーダコード More... | |
struct | GxShaderCodeHeader |
シェーダコードヘッダー More... | |
struct | GxShaderInfo |
シェーダ情報 More... | |
struct | GxShaderNode |
シェーダノード More... | |
struct | GxShaderObject |
シェーダオブジェクト More... | |
struct | GxShaderPackageHeader |
パッケージ情報ヘッダー More... | |
Public Member Functions | |
初期化 | |
GxShaderPackage (void) | |
デフォルトコンストラクタ | |
b32 | initialize (void) |
初期化関数 | |
void | terminate (void) |
終了処理 | |
GxShaderCode * | allocateShaderCode (void) |
シェーダコード作成 | |
void | freeShaderCode (GxShaderCode *pShaderCode) |
シェーダコード解放 | |
アクセサ | |
GX_FORCE_INLINE void | setPropertyVertexShaderCount (const void *const) |
頂点シェーダの数を設定 | |
GX_FORCE_INLINE void | getPropertyVertexShaderCount (void *const pValue) |
頂点シェーダの数を取得 | |
GX_FORCE_INLINE void | setPropertyPixelShaderCount (const void *const) |
ピクセルシェーダの数を設定 | |
GX_FORCE_INLINE void | getPropertyPixelShaderCount (void *const pValue) |
ピクセルシェーダの数を取得 | |
GX_FORCE_INLINE void | setPropertyProgramFunctionsCount (const void *const) |
プログラムで設定する関数の数を設定 | |
GX_FORCE_INLINE void | getPropertyProgramFunctionsCount (void *const pValue) |
プログラムで設定する関数の数を取得 | |
GX_FORCE_INLINE void | setPropertyMaterialFunctionsCount (const void *const) |
マテリアルで設定する関数の数を設定 | |
GX_FORCE_INLINE void | getPropertyMaterialFunctionsCount (void *const pValue) |
マテリアルで設定する関数の数を取得 | |
GX_FORCE_INLINE void | setPropertyProgramParameterCount (const void *const) |
プログラムで設定するパラメータの数を設定 | |
GX_FORCE_INLINE void | getPropertyProgramParameterCount (void *const pValue) |
プログラムで設定するパラメータの数を取得 | |
GX_FORCE_INLINE void | setPropertyMaterialParameterCount (const void *const) |
マテリアルで設定するパラメータの数を設定 | |
GX_FORCE_INLINE void | getPropertyMaterialParameterCount (void *const pValue) |
マテリアルで設定するパラメータの数を取得 | |
GxRenderVertexShader * | getVertexShader (GxShaderCode *pShaderCode) |
頂点シェーダ取得 | |
GxRenderPixelShader * | getPixelShader (GxShaderCode *pShaderCode) |
ピクセルシェーダ取得 | |
b32 | getShader (GxShaderCode *pShaderCode, GxRenderVertexShader *&pVertexShader, GxRenderPixelShader *&pPixelShader) |
シェーダ取得 | |
u32 | getOptimizedShaderCodeHash (GxShaderCode *pShaderCode, u8 *pCodeBuffer) |
最適化されたシェーダコードのハッシュを取得 | |
GxShaderCode * | getOptimizedShaderCode (GxShaderCode *pShaderCode) |
最適化されたシェーダコードを取得 | |
constexpr u32 | getProgramFunctionsCount (void) const |
プログラムで設定する関数の数を取得 | |
constexpr u32 | getMaterialFunctionsCount (void) const |
マテリアルで設定する関数の数を取得 | |
constexpr u32 | getProgramParameterCount (void) const |
プログラムで設定するパラメータの数を取得 | |
constexpr u32 | getMaterialParameterCount (void) const |
マテリアルで設定するパラメータの数を取得 | |
constexpr u32 | getPassCount (void) const |
パス数を取得 | |
GX_HANDLE | getProgramFunctionsHandleByName (GX_CSTR name) const |
プログラムで設定する関数のハンドルを名前から取得 | |
GX_HANDLE | getMaterialFunctionsHandleByName (GX_CSTR name) const |
マテリアルで設定する関数のハンドルを名前から取得 | |
GX_HANDLE | getProgramFunctionsHandleByVirtualName (GX_CSTR name) const |
プログラムで設定する関数のハンドルを仮想名から取得 | |
GX_HANDLE | getMaterialFunctionsHandleByVirtualName (GX_CSTR name) const |
マテリアルで設定する関数のハンドルを仮想名から取得 | |
GX_FORCE_INLINE GX_CSTR | getProgramFunctionsName (GX_HANDLE handle) const |
プログラムで設定する関数の名前を取得 | |
GX_FORCE_INLINE GX_CSTR | getMaterialFunctionsName (GX_HANDLE handle) const |
マテリアルで設定する関数の名前を取得 | |
GX_FORCE_INLINE GX_CSTR | getProgramFunctionsVirtualName (GX_HANDLE handle) const |
プログラムで設定する関数の仮想名を取得 | |
GX_FORCE_INLINE GX_CSTR | getMaterialFunctionsVirtualName (GX_HANDLE handle) const |
マテリアルで設定する関数の仮想名を取得 | |
GX_FORCE_INLINE GX_CSTR | getProgramFunctionsValueName (GX_HANDLE handle, u32 value) const |
プログラムで設定する関数の値の名前を取得 | |
GX_FORCE_INLINE GX_CSTR | getMaterialFunctionsValueName (GX_HANDLE handle, u32 value) const |
マテリアルで設定する関数の値の名前を取得 | |
GX_FORCE_INLINE GX_CSTR | getProgramFunctionsValueVirtualName (GX_HANDLE handle, u32 value) const |
プログラムで設定する関数の値の仮想名を取得 | |
GX_FORCE_INLINE GX_CSTR | getMaterialFunctionsValueVirtualName (GX_HANDLE handle, u32 value) const |
マテリアルで設定する関数の値の仮想名を取得 | |
u32 | getProgramFunctionsValueByName (GX_HANDLE handle, GX_CSTR name) const |
プログラムで設定する関数の値を名前から取得 | |
u32 | getMaterialFunctionsValueByName (GX_HANDLE handle, GX_CSTR name) const |
マテリアルで設定する関数の値を名前から取得 | |
u32 | getProgramFunctionsValueByVirtualName (GX_HANDLE handle, GX_CSTR name) const |
プログラムで設定する関数の値を仮想名から取得 | |
u32 | getMaterialFunctionsValueByVirtualName (GX_HANDLE handle, GX_CSTR name) const |
マテリアルで設定する関数の値を仮想名から取得 | |
GX_FORCE_INLINE u32 | getProgramFunctionsValueCount (GX_HANDLE handle) const |
プログラムで設定する関数の値数を取得 | |
GX_FORCE_INLINE u32 | getMaterialFunctionsValueCount (GX_HANDLE handle) const |
マテリアルで設定する関数の値数を取得 | |
GX_HANDLE | getProgramParameterHandleByName (GX_CSTR name) const |
プログラムで設定するパラメータのハンドルを名前から取得 | |
GX_HANDLE | getMaterialParameterHandleByName (GX_CSTR name) const |
マテリアルで設定するパラメータのハンドルを名前から取得 | |
GX_HANDLE | getProgramParameterHandleByVirtualName (GX_CSTR name) const |
プログラムで設定する関数のハンドルを仮想名から取得 | |
GX_HANDLE | getMaterialParameterHandleByVirtualName (GX_CSTR name) const |
マテリアルで設定する関数のハンドルを仮想名から取得 | |
GX_FORCE_INLINE GX_CSTR | getProgramParameterName (GX_HANDLE handle) const |
プログラムで設定するパラメータの名前を取得 | |
GX_FORCE_INLINE GX_CSTR | getMaterialParameterName (GX_HANDLE handle) const |
マテリアルで設定するパラメータの名前を取得 | |
GX_FORCE_INLINE GX_CSTR | getProgramParameterVirtualName (GX_HANDLE handle) const |
プログラムで設定するパラメータの仮想名を取得 | |
GX_FORCE_INLINE GX_CSTR | getMaterialParameterVirtualName (GX_HANDLE handle) const |
マテリアルで設定するパラメータの仮想名を取得 | |
GX_FORCE_INLINE GxShaderLanguage::PARAMETER_TYPE | getProgramParameterType (GX_HANDLE handle) const |
プログラムで設定するパラメータのタイプを取得 | |
GX_FORCE_INLINE GxShaderLanguage::PARAMETER_TYPE | getMaterialParameterType (GX_HANDLE handle) const |
マテリアルで設定するパラメータのタイプを取得 | |
GX_FORCE_INLINE const GxShaderLanguage::GxParameterDefaultValue & | getMaterialParameterDefaultValue (GX_HANDLE handle) const |
マテリアルで設定するパラメータのデフォルト値を取得 | |
void | setUseOptimizedShaderVariation (b32 isUse) |
最適化シェーダバリエーションを利用するかを設定 | |
void | setOptimizedProgramFunctionsBits (u32 pass, u8 *pBits) |
最適化シェーダバリエーションのプログラム関数ビット列を設定 | |
void | setOptimizedMaterialFunctionsBits (u32 pass, u8 *pBits) |
最適化シェーダバリエーションのマテリアル関数ビット列を設定 | |
![]() | |
constexpr | GxClassBase (void) |
コンストラクタ | |
constexpr | GxClassBase (const GxClassBase &base) |
コピーコンストラクタ | |
~GxClassBase (void) override | |
デストラクタ | |
![]() | |
constexpr | GxClassBaseRoot (void) |
コンストラクタ | |
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
コピーコンストラクタ | |
virtual | ~GxClassBaseRoot (void) |
デストラクタ | |
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
代入演算子 | |
virtual GxRtti & | getRtti (void) const =0 |
Rttiの取得 | |
virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
デフォルトオブジェクトを取得 | |
GX_FORCE_INLINE b32 | isDefaultObject (void) |
デフォルトオブジェクト判定 | |
Protected Attributes | |
メンバ変数 | |
GxShaderPackageHeader | _header |
ヘッダ | |
GxShaderNode * | _pNode |
ノードの先頭ポインタ | |
u32 | _nodeAllocateCount |
ノードの確保数 | |
void * | _pStringData |
文字列データ | |
void * | _pShaderCodeBuffer |
シェーダコードのバッファ | |
u32 | _shaderCodeAllocateCount |
シェーダコードの確保数 | |
u32 | _shaderCodeSize |
シェーダコードのサイズ | |
GxArrayClassBaseReference | _shaderArray [static_cast< u32 >(RENDER_SHADER::MAX)] |
シェーダ配列 | |
GxArray | _shaderHashArray [static_cast< u32 >(RENDER_SHADER::MAX)] |
シェーダハッシュ配列 | |
void * | _pParameterFunctionBuffer |
パラメータ、関数バッファ | |
GxParameter * | _pProgramParameter |
パラメータ情報 | |
GxFunctions * | _pProgramFunctions |
関数情報 | |
GxParameter * | _pMaterialParameter |
パラメータ情報 | |
GxFunctions * | _pMaterialFunctions |
関数情報 | |
GxFunction * | _pFunction |
関数情報 | |
b32 | _enableRuntimeCompile |
実行時コンパイル有効 | |
GxCriticalSection | _criticalSection |
クリティカルセクション | |
b32 | _isUseOptimizedShaderVariation |
最適化シェーダバリエーションを利用するか | |
u8 * | _pOptimizedProgramFunctionsBits [static_cast< s32 >(RENDER_PASS::MAX)] |
最適化シェーダバリエーションのビット列(プログラム関数) | |
u8 * | _pOptimizedMaterialFunctionsBits [static_cast< s32 >(RENDER_PASS::MAX)] |
最適化シェーダバリエーションのビット列(マテリアル関数) | |
定義 | |
class | GxSysShader |
static constexpr u32 | INVALID_INDEX = 0xFFFFFFFFUL |
無効なインデックス | |
static constexpr u32 | CODE_COUNT_IN_NODE = 16 |
ノード内のシェーダコード数 | |
操作 | |
b32 | load (GxStream &stream) |
読み込み | |
GxShaderNode * | searchNode (GxShaderCode *pShaderCode) |
ノード検索 | |
GxShaderNode * | searchNode (u32 hash) |
ノード検索 | |
GxShaderNode * | addNode (GxShaderCode *pShaderCode) |
ノード追加 | |
u32 | addShaderCode (GxShaderCode *pShaderCode) |
シェーダコード追加 | |
GxShaderCode * | getShaderCodeFromIndex (u32 index) |
インデックスでシェーダコード取得 | |
void | setConstantRegisterSetInformation (GxRenderShader::GxRegisterSet *pConstantRegisterSet, void *pConstantRegisterParameterTable, const GxShaderInfo &shaderInfo) |
定数レジスタセット情報設定 | |
Additional Inherited Members | |
![]() | |
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
シェーダパッケージクラス
|
protected |
ノード追加
pShaderCode | [in] シェーダコード |
|
protected |
シェーダコード追加
pShaderCode | [in] シェーダコード |
GxShaderPackage::GxShaderCode * GxShaderPackage::allocateShaderCode | ( | void | ) |
シェーダコード作成
void GxShaderPackage::freeShaderCode | ( | GxShaderCode * | pShaderCode | ) |
シェーダコード解放
shaderCode | [in] シェーダコード |
GX_HANDLE GxShaderPackage::getMaterialFunctionsHandleByName | ( | GX_CSTR | name | ) | const |
マテリアルで設定する関数のハンドルを名前から取得
name | [in] 名前 |
GX_HANDLE GxShaderPackage::getMaterialFunctionsHandleByVirtualName | ( | GX_CSTR | name | ) | const |
マテリアルで設定する関数のハンドルを仮想名から取得
name | [in] 仮想名 |
GX_CSTR GxShaderPackage::getMaterialFunctionsName | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定する関数の名前を取得
handle | [in] ハンドル |
u32 GxShaderPackage::getMaterialFunctionsValueByName | ( | GX_HANDLE | handle, |
GX_CSTR | name ) const |
マテリアルで設定する関数の値を名前から取得
handle | [in] ハンドル |
name | [in] 名前 |
u32 GxShaderPackage::getMaterialFunctionsValueByVirtualName | ( | GX_HANDLE | handle, |
GX_CSTR | name ) const |
マテリアルで設定する関数の値を仮想名から取得
handle | [in] ハンドル |
name | [in] 仮想名 |
u32 GxShaderPackage::getMaterialFunctionsValueCount | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定する関数の値数を取得
handle | [in] ハンドル |
GX_CSTR GxShaderPackage::getMaterialFunctionsValueName | ( | GX_HANDLE | handle, |
u32 | value ) const |
マテリアルで設定する関数の値の名前を取得
handle | [in] ハンドル |
value | [in] 値 |
GX_CSTR GxShaderPackage::getMaterialFunctionsValueVirtualName | ( | GX_HANDLE | handle, |
u32 | value ) const |
マテリアルで設定する関数の値の仮想名を取得
handle | [in] ハンドル |
value | [in] 値 |
GX_CSTR GxShaderPackage::getMaterialFunctionsVirtualName | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定する関数の仮想名を取得
handle | [in] ハンドル |
const GxShaderLanguage::GxParameterDefaultValue & GxShaderPackage::getMaterialParameterDefaultValue | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定するパラメータのデフォルト値を取得
マテリアルで設定するパラメータのデフォルト値を取得
handle | [in] ハンドル |
GX_HANDLE GxShaderPackage::getMaterialParameterHandleByName | ( | GX_CSTR | name | ) | const |
マテリアルで設定するパラメータのハンドルを名前から取得
name | [in] 名前 |
GX_HANDLE GxShaderPackage::getMaterialParameterHandleByVirtualName | ( | GX_CSTR | name | ) | const |
マテリアルで設定する関数のハンドルを仮想名から取得
name | [in] 仮想名 |
GX_CSTR GxShaderPackage::getMaterialParameterName | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定するパラメータの名前を取得
handle | [in] ハンドル |
GxShaderLanguage::PARAMETER_TYPE GxShaderPackage::getMaterialParameterType | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定するパラメータのタイプを取得
マテリアルで設定するパラメータのタイプを取得
handle | [in] ハンドル |
GX_CSTR GxShaderPackage::getMaterialParameterVirtualName | ( | GX_HANDLE | handle | ) | const |
マテリアルで設定するパラメータの仮想名を取得
handle | [in] ハンドル |
GxShaderPackage::GxShaderCode * GxShaderPackage::getOptimizedShaderCode | ( | GxShaderCode * | pShaderCode | ) |
最適化されたシェーダコードを取得
shaderCode | [in] 加工前のシェーダコード |
u32 GxShaderPackage::getOptimizedShaderCodeHash | ( | GxShaderCode * | pShaderCode, |
u8 * | pCodeBuffer ) |
最適化されたシェーダコードのハッシュを取得
shaderCode | [in] シェーダコード |
pCodeBuffer | [in] コードバッファ |
GX_HANDLE GxShaderPackage::getProgramFunctionsHandleByName | ( | GX_CSTR | name | ) | const |
プログラムで設定する関数のハンドルを名前から取得
name | [in] 名前 |
GX_HANDLE GxShaderPackage::getProgramFunctionsHandleByVirtualName | ( | GX_CSTR | name | ) | const |
プログラムで設定する関数のハンドルを仮想名から取得
name | [in] 仮想名 |
GX_CSTR GxShaderPackage::getProgramFunctionsName | ( | GX_HANDLE | handle | ) | const |
プログラムで設定する関数の名前を取得
handle | [in] ハンドル |
u32 GxShaderPackage::getProgramFunctionsValueByName | ( | GX_HANDLE | handle, |
GX_CSTR | name ) const |
プログラムで設定する関数の値を名前から取得
handle | [in] ハンドル |
name | [in] 名前 |
u32 GxShaderPackage::getProgramFunctionsValueByVirtualName | ( | GX_HANDLE | handle, |
GX_CSTR | name ) const |
プログラムで設定する関数の値を仮想名から取得
handle | [in] ハンドル |
name | [in] 仮想名 |
u32 GxShaderPackage::getProgramFunctionsValueCount | ( | GX_HANDLE | handle | ) | const |
プログラムで設定する関数の値数を取得
handle | [in] ハンドル |
GX_CSTR GxShaderPackage::getProgramFunctionsValueName | ( | GX_HANDLE | handle, |
u32 | value ) const |
プログラムで設定する関数の値の名前を取得
handle | [in] ハンドル |
value | [in] 値 |
GX_CSTR GxShaderPackage::getProgramFunctionsValueVirtualName | ( | GX_HANDLE | handle, |
u32 | value ) const |
プログラムで設定する関数の値の仮想名を取得
handle | [in] ハンドル |
value | [in] 値 |
GX_CSTR GxShaderPackage::getProgramFunctionsVirtualName | ( | GX_HANDLE | handle | ) | const |
プログラムで設定する関数の仮想名を取得
handle | [in] ハンドル |
GX_HANDLE GxShaderPackage::getProgramParameterHandleByName | ( | GX_CSTR | name | ) | const |
プログラムで設定するパラメータのハンドルを名前から取得
name | [in] 名前 |
GX_HANDLE GxShaderPackage::getProgramParameterHandleByVirtualName | ( | GX_CSTR | name | ) | const |
プログラムで設定する関数のハンドルを仮想名から取得
name | [in] 仮想名 |
GX_CSTR GxShaderPackage::getProgramParameterName | ( | GX_HANDLE | handle | ) | const |
プログラムで設定するパラメータの名前を取得
handle | [in] ハンドル |
GxShaderLanguage::PARAMETER_TYPE GxShaderPackage::getProgramParameterType | ( | GX_HANDLE | handle | ) | const |
プログラムで設定するパラメータのタイプを取得
handle | [in] ハンドル |
GX_CSTR GxShaderPackage::getProgramParameterVirtualName | ( | GX_HANDLE | handle | ) | const |
プログラムで設定するパラメータの仮想名を取得
handle | [in] ハンドル |
b32 GxShaderPackage::getShader | ( | GxShaderCode * | pShaderCode, |
GxRenderVertexShader *& | pVertexShader, | ||
GxRenderPixelShader *& | pPixelShader ) |
シェーダ取得
shaderCode | [in] シェーダコード |
pVertexShader | [out] 頂点シェーダ |
pPixelShader | [out] ピクセルシェーダ |
pHullShader | [out] ハルシェーダ |
pDomainShader | [out] ドメインシェーダ |
b32 GxShaderPackage::initialize | ( | void | ) |
初期化関数
shaderSource | [in] シェーダソース |
includeCallbackHandler | [in] インクルード時のコールバック |
saveResourceCallbackHandler | [in] リソース保存時のコールバック |
isOriginalResource | [in] オリジナルリソースならtrue |
pResShaderPackage | [in] シェーダーパッケージリソース |
shaderPath | [in] シェーダソース |
読み込み
stream | [in,out] 読み込み元ストリーム |
|
protected |
ノード検索
pShaderCode | [in] シェーダコード |
|
protected |
ノード検索
hash | [in] ハッシュ値 |
|
protected |
定数レジスタセット情報設定
pConstantRegisterSet | [in,out] 定数レジスタセット情報設定先ポインタ |
pConstantRegisterParameterTable | [in] 定数レジスタパラメータテーブルポインタ |
shaderInfo | [in] シェーダ情報 |
void GxShaderPackage::setOptimizedMaterialFunctionsBits | ( | u32 | pass, |
u8 * | pBits ) |
最適化シェーダバリエーションのマテリアル関数ビット列を設定
pass | [in] シェーダーパス |
pBits | [in] ビット列 |
void GxShaderPackage::setOptimizedProgramFunctionsBits | ( | u32 | pass, |
u8 * | pBits ) |
最適化シェーダバリエーションのプログラム関数ビット列を設定
pass | [in] シェーダーパス |
pBits | [in] ビット列 |
void GxShaderPackage::setUseOptimizedShaderVariation | ( | b32 | isUse | ) |
最適化シェーダバリエーションを利用するかを設定
isUse | [in] 利用するならtrue |