OROCHI
 
Loading...
Searching...
No Matches
GxSysEffectEffekseer.h
Go to the documentation of this file.
1//===========================================================================
9//===========================================================================
10#pragma once
11
12#if PLATFORM_EFFEKSEER_SUPPORT
13
14GX_EFFECT_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxEffectInitialInformationEffekseer : public GxEffectInitialInformationBase
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 // RTTI宣言
27 GX_RTTI_CLASS(GxEffectInitialInformationEffekseer, GxEffectInitialInformationBase);
28 // 禁止宣言
29 GX_PROHIBIT_CLASS_BASE(GxEffectInitialInformationEffekseer);
30
32 //-----------------------------------------------------------
34 //-----------------------------------------------------------
36
38 GxEffectInitialInformationEffekseer(void)
39 : _squareMaxCount(GxMath::VALUE_8K)
40 , _instanceMaxCount(GxMath::VALUE_8K)
41 {}
42
44 //-----------------------------------------------------------
46 //-----------------------------------------------------------
48
50 void loadJson(const GxJson::GxJsonNode& jsonNode) override;
51
53 //-----------------------------------------------------------
55 //-----------------------------------------------------------
57
58 u32 _squareMaxCount;
59 u32 _instanceMaxCount;
60
62};
63
64//===========================================================================
66//===========================================================================
67class GxSysEffectEffekseer : public GxSysEffect
68{
69 //-----------------------------------------------------------
71 //-----------------------------------------------------------
73public:
74 // RTTI宣言
75 GX_RTTI_ABSTRACT_CLASS(GxSysEffectEffekseer, GxSysEffect)
76 // ClassBase継承クラス用禁止宣言
77 GX_PROHIBIT_CLASS_BASE(GxSysEffectEffekseer);
78
80 //-----------------------------------------------------------
82 //-----------------------------------------------------------
84public:
86 GxSysEffectEffekseer(void);
88 ~GxSysEffectEffekseer(void) override {}
89
91 b32 initialize(const GxClassBase* pInitialInformation) override;
93 void terminate(void) override;
94
96 //-------------------------------------------------------------
98 //-------------------------------------------------------------
100public:
102 void update(void) override;
104 void onRender(void) override;
106 s32 renderBeginCallback(void*, void*);
108 s32 renderEndCallback(void*, void*);
110 s32 renderCallback(void* pSource, void* pArgument);
111
113 //-------------------------------------------------------------
115 //-------------------------------------------------------------
117public:
119 GX_FORCE_INLINE Effekseer::ManagerRef getManager(void) const { return _pManager; }
121 GX_FORCE_INLINE void setUpdateFrame(void) { _isUpdateFrame = true; }
122
124 //-----------------------------------------------------------
126 //-----------------------------------------------------------
128private:
129 Effekseer::Matrix44 _projectionMatrix[RENDER_BUFFER_COUNT_MAX];
130 Effekseer::Matrix44 _viewMatrix[RENDER_BUFFER_COUNT_MAX];
131 Effekseer::ManagerRef _pManager;
132 EffekseerRenderer::RendererRef _pRenderer;
133 Effekseer::RefPtr<EffekseerRenderer::SingleFrameMemoryPool> _pMemoryPool;
134 Effekseer::RefPtr<EffekseerRenderer::CommandList> _pCommandList;
135 b32 _isUpdateFrame;
136
138};
139
140// アクセスインターフェース
141GX_FORCE_INLINE GxSysEffectEffekseer* getGxSysEffectEffekseer(void) { return static_cast<GxSysEffectEffekseer*>(GxSysEffectEffekseer::getSingletonPointer()); }
142
143GX_EFFECT_NAMESPACE_END()
144
145#endif //PLATFORM_EFFEKSEER_SUPPORT
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
@ RENDER_BUFFER_COUNT_MAX
トリプルバッファリング
Definition GxRender.h:20
オブジェクト基底クラス
Definition GxBase.h:88
初期化クラス
Definition GxSysEffectBase.h:19
JSON解析用ノード
Definition GxJson.h:108
算術演算クラス
Definition GxMath.h:84
virtual GX_FORCE_INLINE void onRender(void)
描画通知
Definition GxRenderNotifier.h:107
virtual void update(void)
更新
Definition GxSysBase.cpp:79
virtual b32 initialize(const GxClassBase *pInitialiInformation=nullptr)
初期化
Definition GxSysBase.cpp:29
virtual void terminate(void)
終了処理
Definition GxSysBase.cpp:50
エフェクトシステム
Definition GxSysEffect.h:18
32bitブーリアン
Definition GxDefine.h:173