OROCHI
 
Loading...
Searching...
No Matches
GxRenderVertexShader.h
Go to the documentation of this file.
1//===========================================================================
10//===========================================================================
11#pragma once
12
13GX_CORE_NAMESPACE_BEGIN()
14
16
17//===========================================================================
20//===========================================================================
22{
23 //-------------------------------------------------------------
25 //-------------------------------------------------------------
27public:
29 // ClassBaseReference継承クラス用禁止宣言
31
32 friend class GxRenderDevice;
33
34private:
35#if GX_USE_DX11
37 struct GxInputLayoutArrayElement
38 {
39 GxRenderVertexDeclaration* _pVertexDeclaration;
40 ID3D11InputLayout* _pInputLayout;
41 };
42#endif // GX_USE_DX11
43
45 //-------------------------------------------------------------
47 //-------------------------------------------------------------
49public:
51 void cleanup(void) override;
52
53protected:
55 b32 initialize(const void* pAssembledCode, u32 assembledCodeSize, u32 constantRegisterParameterCount, u32 usageInputSemantics, u32 constantBufferSize) override;
56
59
61 //-------------------------------------------------------------
63 //-------------------------------------------------------------
65public:
67 GX_FORCE_INLINE void onLostDevice(void) override {}
68
70 GX_FORCE_INLINE b32 onResetDevice(void) override { return true; }
71
73 GX_FORCE_INLINE void onRender(void) override {}
74
76 //-------------------------------------------------------------
78 //-------------------------------------------------------------
80public:
81#if GX_USE_DX11
83 ID3D11VertexShader* getD3D11VertexShader(void) const { return _pD3D11VertexShader; }
85 ID3D11InputLayout* getD3D11InputLayout(GxRenderVertexDeclaration* pVertexDeclaration);
86#endif // GX_USE_DX11
87
89 //-------------------------------------------------------------
91 //-------------------------------------------------------------
93private:
94#if GX_USE_DX11
95 ID3D11VertexShader* _pD3D11VertexShader;
96 GxArray _d3d11InputLayoutArray;
97#endif // GX_USE_DX11
98
99#if defined(_PS5)
100 void* _pUseBuffer;
101#endif //_PS5
102
104};
105
106GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
配列クラス
Definition GxArray.h:18
描画関連の依存をこのクラスで吸収します
Definition GxRenderDevice.h:450
シェーダ共通の処理を記述
Definition GxRenderShader.h:20
頂点シェーダに渡す頂点の宣言を管理する
Definition GxRenderVertexDeclaration.h:22
頂点シェーダを管理する
Definition GxRenderVertexShader.h:22
GX_FORCE_INLINE void onLostDevice(void) override
デバイスが消失した時点で通知
Definition GxRenderVertexShader.h:67
GX_FORCE_INLINE b32 onResetDevice(void) override
デバイスのリセット後に通知
Definition GxRenderVertexShader.h:70
GX_FORCE_INLINE void onRender(void) override
描画通知
Definition GxRenderVertexShader.h:73
32bitブーリアン
Definition GxDefine.h:173