14GX_CORE_NAMESPACE_BEGIN()
15class GxShaderCompiler;
20#define GX_SHADER_PACKAGE_DIR(_Dir, _ShaderFile) (_Dir "/shader_hlsl/" _ShaderFile)
22#define GX_SHADER_PACKAGE_DIR(_Dir, _ShaderFile) (_Dir "/shader_glsl/" _ShaderFile)
59 b32 _backwardsCompatibility;
79 , _backwardsCompatibility(false)
120 b32 setHeaderFromCompiler(
const GxShaderCompiler& shaderCompiler);
122 b32 setShaderCodeFromCompiler(
const GxShaderCompiler& shaderCompiler);
124 b32 setConstantRegisterTableFromCompiler(
const GxShaderCompiler& shaderCompiler);
131 void setConstantRegisterParameterInformation(
void* pConstantRegisterParameterTable,
const GxShaderCompiler& shaderCompiler);
134 static b32 isCommentCode(GX_CSTR
string, u32& codeSize);
136 static void* allocateCompilerMemory(
size_t size);
138 static void freeCompilerMemory(
void* pAddress);
154 b32 _backwardsCompatibility;
228 GxResShaderVertexVsh(
void) {}
311 GxResShaderPixelPsh(
void) {}
326#if GX_ENABLE_TESSELLATION
349 GxResShaderHull(
void) {}
376class GxResShaderHullHsh :
public GxResShaderHull
395 GxResShaderHullHsh(
void) {}
432 GxResShaderDomain(
void) {}
459class GxResShaderDomainDsh :
public GxResShaderDomain
478 GxResShaderDomainDsh(
void) {}
494#if GX_ENABLE_COMPUTE_SHADER
516 GxResShaderCompute(
void) {}
543class GxResShaderComputeCsh :
public GxResShaderCompute
562 GxResShaderComputeCsh(
void) {}
578GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
T gx_cast(GxClassBaseRoot *pObject)
Definition GxBase.h:264
#define GX_RTTI_ABSTRACT_RESOURCE(__THIS__, __BASE__)
リソース抽象クラス型情報宣言
Definition GxRttiResource.h:115
#define GX_RTTI_RESOURCE(__THIS__, __BASE__)
リソースクラス型情報宣言
Definition GxRttiResource.h:102
コンピュートシェーダを管理する
Definition GxRenderComputeShader.h:21
ピクセルシェーダを管理する
Definition GxRenderPixelShader.h:20
シェーダ共通の処理を記述
Definition GxRenderShader.h:20
頂点シェーダを管理する
Definition GxRenderVertexShader.h:22
リソース基底クラス
Definition GxResBase.h:23
マクロ
Definition GxResShader.h:29
GxResShaderBase(void)
コンストラクタ
Definition GxResShader.h:73
GX_CSTR _entryName
エントリー名
Definition GxResShader.h:152
GxRenderShader * _pRenderShader
シェーダポインタ
Definition GxResShader.h:147
void cleanup(void) override
解放
Definition GxResShader.cpp:33
static GX_CSTR SHADER_ENTRYPOINT
シェーダエントリポイント関数名定義
Definition GxResShader.h:64
b32 load(GxStream &stream, u32 dataSize)
リソース読み込み
Definition GxResShader.cpp:50
b32 readShaderCode(GxStreamReader &reader)
シェーダコード読み込み
Definition GxResShader.cpp:140
void createCallback(void *pUser)
リソース作成時コールバック
Definition GxResShader.cpp:122
virtual GX_FORCE_INLINE b32 createShader(void)
シェーダ生成 (※継承先で実装)
Definition GxResShader.h:104
void * _pShaderCode
シェーダーコードポインタ
Definition GxResShader.h:149
GxResShaderHeader _header
ヘッダー情報
Definition GxResShader.h:148
b32 readConstantRegisterTable(GxStreamReader &reader)
定数レジスタテーブル読み込み
Definition GxResShader.cpp:175
void setConstantRegisterSetInformation(GxRenderShader::GxRegisterSet *pConstantRegisterSet, void *pConstantRegisterParameterTable)
定数レジスタセット情報設定
Definition GxResShader.cpp:357
b32 _usePragma
プラグマを使用するか
Definition GxResShader.h:151
ピクセルシェーダリソース
Definition GxResShader.h:247
GX_FORCE_INLINE GxRenderPixelShader * getPixelShader(void) const
シェーダ管理クラス取得
Definition GxResShader.h:274
GxResShaderPixel(void)
コンストラクタ
Definition GxResShader.h:265
b32 createShader(void) override
シェーダ生成
Definition GxResShader.cpp:613
頂点シェーダリソース
Definition GxResShader.h:164
b32 createShader(void) override
シェーダ生成
Definition GxResShader.cpp:474
GxResShaderVertex(void)
コンストラクタ
Definition GxResShader.h:182
GX_FORCE_INLINE GxRenderVertexShader * getVertexShader(void) const
シェーダ管理クラス取得
Definition GxResShader.h:191
ストリーム基礎クラス
Definition GxStream.h:20
ストリーム読み込みクラス
Definition GxStreamReader.h:19
ストリーム書き込みクラス
Definition GxStreamWriter.h:19
定数レジスタ情報
Definition GxRenderShader.h:85
リソース作成時コールバックの引数情報
Definition GxResShader.h:55
b32 _usePragma
プラグマを使用するか
Definition GxResShader.h:56
GX_CSTR _entryName
エントリー名
Definition GxResShader.h:57
32bitブーリアン
Definition GxDefine.h:173