Effekseer
 全て クラス 関数 変数
EffekseerRendererDX11.h
1 
2 #ifndef __EFFEKSEERRENDERER_DX11_BASE_PRE_H__
3 #define __EFFEKSEERRENDERER_DX11_BASE_PRE_H__
4 
5 //----------------------------------------------------------------------------------
6 // Include
7 //----------------------------------------------------------------------------------
8 #include <Effekseer.h>
9 
10 #include <windows.h>
11 #include <d3d11.h>
12 
13 #if _WIN32
14 #pragma comment(lib, "gdiplus.lib")
15 #pragma comment(lib, "d3d11.lib" )
16 #endif
17 
18 //----------------------------------------------------------------------------------
19 //
20 //----------------------------------------------------------------------------------
21 namespace EffekseerRendererDX11
22 {
23 //----------------------------------------------------------------------------------
24 //
25 //----------------------------------------------------------------------------------
26 class Renderer;
27 
28 //----------------------------------------------------------------------------------
29 //
30 //----------------------------------------------------------------------------------
31 }
32 //----------------------------------------------------------------------------------
33 //
34 //----------------------------------------------------------------------------------
35 #endif // __EFFEKSEERRENDERER_DX11_PRE_BASE_H__
36 
37 #ifndef __EFFEKSEERRENDERER_RENDERER_H__
38 #define __EFFEKSEERRENDERER_RENDERER_H__
39 
40 //----------------------------------------------------------------------------------
41 // Include
42 //----------------------------------------------------------------------------------
43 #include <Effekseer.h>
44 
45 //-----------------------------------------------------------------------------------
46 //
47 //-----------------------------------------------------------------------------------
48 namespace EffekseerRenderer
49 {
50 //-----------------------------------------------------------------------------------
51 //
52 //-----------------------------------------------------------------------------------
53 
57 class DistortingCallback
58 {
59 public:
60  DistortingCallback() {}
61  virtual ~DistortingCallback() {}
62 
63  virtual bool OnDistorting() { return false; }
64 };
65 //-----------------------------------------------------------------------------------
66 //
67 //-----------------------------------------------------------------------------------
68 class Renderer
70 {
71 protected:
72  Renderer() {}
73  virtual ~Renderer() {}
74 
75 public:
79  virtual void OnLostDevice() = 0;
80 
84  virtual void OnResetDevice() = 0;
85 
89  virtual void Destroy() = 0;
90 
94  virtual void SetRestorationOfStatesFlag(bool flag) = 0;
95 
99  virtual bool BeginRendering() = 0;
100 
104  virtual bool EndRendering() = 0;
105 
109  virtual const ::Effekseer::Vector3D& GetLightDirection() const = 0;
110 
114  virtual void SetLightDirection( ::Effekseer::Vector3D& direction ) = 0;
115 
119  virtual const ::Effekseer::Color& GetLightColor() const = 0;
120 
124  virtual void SetLightColor( ::Effekseer::Color& color ) = 0;
125 
129  virtual const ::Effekseer::Color& GetLightAmbientColor() const = 0;
130 
134  virtual void SetLightAmbientColor( ::Effekseer::Color& color ) = 0;
135 
139  virtual int32_t GetSquareMaxCount() const = 0;
140 
144  virtual const ::Effekseer::Matrix44& GetProjectionMatrix() const = 0;
145 
149  virtual void SetProjectionMatrix( const ::Effekseer::Matrix44& mat ) = 0;
150 
154  virtual const ::Effekseer::Matrix44& GetCameraMatrix() const = 0;
155 
159  virtual void SetCameraMatrix( const ::Effekseer::Matrix44& mat ) = 0;
160 
164  virtual ::Effekseer::Matrix44& GetCameraProjectionMatrix() = 0;
165 
169  virtual ::Effekseer::SpriteRenderer* CreateSpriteRenderer() = 0;
170 
174  virtual ::Effekseer::RibbonRenderer* CreateRibbonRenderer() = 0;
175 
179  virtual ::Effekseer::RingRenderer* CreateRingRenderer() = 0;
180 
184  virtual ::Effekseer::ModelRenderer* CreateModelRenderer() = 0;
185 
189  virtual ::Effekseer::TrackRenderer* CreateTrackRenderer() = 0;
190 
194  virtual ::Effekseer::TextureLoader* CreateTextureLoader( ::Effekseer::FileInterface* fileInterface = NULL ) = 0;
195 
199  virtual ::Effekseer::ModelLoader* CreateModelLoader( ::Effekseer::FileInterface* fileInterface = NULL ) = 0;
200 
204  virtual void ResetRenderState() = 0;
205 
209  virtual DistortingCallback* GetDistortingCallback() = 0;
210 
214  virtual void SetDistortingCallback(DistortingCallback* callback) = 0;
215 };
216 
217 //----------------------------------------------------------------------------------
218 //
219 //----------------------------------------------------------------------------------
220 }
221 //----------------------------------------------------------------------------------
222 //
223 //----------------------------------------------------------------------------------
224 #endif // __EFFEKSEERRENDERER_RENDERER_H__
225 #ifndef __EFFEKSEERRENDERER_DX11_RENDERER_H__
226 #define __EFFEKSEERRENDERER_DX11_RENDERER_H__
227 
228 //----------------------------------------------------------------------------------
229 // Include
230 //----------------------------------------------------------------------------------
231 
232 //----------------------------------------------------------------------------------
233 //
234 //----------------------------------------------------------------------------------
235 namespace EffekseerRendererDX11
236 {
237 //----------------------------------------------------------------------------------
238 //
239 //----------------------------------------------------------------------------------
240 
244 ::Effekseer::TextureLoader* CreateTextureLoader(ID3D11Device* device, ::Effekseer::FileInterface* fileInterface = NULL);
245 
249 ::Effekseer::ModelLoader* CreateModelLoader(ID3D11Device* device, ::Effekseer::FileInterface* fileInterface = NULL);
250 
251 
255 class Renderer
257 {
258 protected:
259  Renderer() {}
260  virtual ~Renderer() {}
261 
262 public:
271  static Renderer* Create(
272  ID3D11Device* device,
273  ID3D11DeviceContext* context,
274  int32_t squareMaxCount,
275  D3D11_COMPARISON_FUNC depthFunc = D3D11_COMPARISON_LESS);
276 
280  virtual ID3D11Device* GetDevice() = 0;
281 
286  virtual Effekseer::TextureData* GetBackground() = 0;
287 
292  virtual void SetBackground(ID3D11ShaderResourceView* background) = 0;
293 };
294 
295 //----------------------------------------------------------------------------------
296 //
297 //----------------------------------------------------------------------------------
301 class Model : public Effekseer::Model
302 {
303 private:
304 
305 public:
306  ID3D11Buffer* VertexBuffer;
307  ID3D11Buffer* IndexBuffer;
308  int32_t VertexCount;
309  int32_t IndexCount;
310  int32_t FaceCount;
311  int32_t ModelCount;
312 
313  Model( uint8_t* data, int32_t size )
314  : Effekseer::Model ( data, size )
315  , VertexBuffer ( NULL )
316  , IndexBuffer ( NULL )
317  , VertexCount ( 0 )
318  , IndexCount ( 0 )
319  , FaceCount ( 0 )
320  , ModelCount ( 0 )
321  {
322  }
323 
324  virtual ~Model()
325  {
326  ES_SAFE_RELEASE( VertexBuffer );
327  ES_SAFE_RELEASE( IndexBuffer );
328  }
329 };
330 
331 
332 //----------------------------------------------------------------------------------
333 //
334 //----------------------------------------------------------------------------------
335 }
336 //----------------------------------------------------------------------------------
337 //
338 //----------------------------------------------------------------------------------
339 #endif // __EFFEKSEERRENDERER_DX11_RENDERER_H__
virtual ::Effekseer::TrackRenderer * CreateTrackRenderer()=0
軌跡レンダラーを生成する。
static Renderer * Create(ID3D11Device *device, ID3D11DeviceContext *context, int32_t squareMaxCount, D3D11_COMPARISON_FUNC depthFunc=D3D11_COMPARISON_LESS)
インスタンスを生成する。
モデル
Definition: EffekseerRendererDX11.h:301
virtual const ::Effekseer::Color & GetLightAmbientColor() const =0
ライトの環境光の色を取得する。
virtual int32_t GetSquareMaxCount() const =0
最大描画スプライト数を取得する。
virtual const ::Effekseer::Vector3D & GetLightDirection() const =0
ライトの方向を取得する。
virtual void SetCameraMatrix(const ::Effekseer::Matrix44 &mat)=0
カメラ行列を設定する。
virtual void SetLightDirection(::Effekseer::Vector3D &direction)=0
ライトの方向を設定する。
virtual ::Effekseer::RingRenderer * CreateRingRenderer()=0
リングレンダラーを生成する。
ファイルアクセス用のファクトリクラス
Definition: Effekseer.h:1127
virtual void SetBackground(ID3D11ShaderResourceView *background)=0
背景を設定する
virtual const ::Effekseer::Matrix44 & GetCameraMatrix() const =0
カメラ行列を取得する。
virtual bool BeginRendering()=0
描画を開始する時に実行する。
テクスチャデータ
Definition: Effekseer.h:455
virtual ::Effekseer::SpriteRenderer * CreateSpriteRenderer()=0
スプライトレンダラーを生成する。
virtual Effekseer::TextureData * GetBackground()=0
背景を取得する
virtual ::Effekseer::ModelRenderer * CreateModelRenderer()=0
モデルレンダラーを生成する。
virtual const ::Effekseer::Color & GetLightColor() const =0
ライトの色を取得する。
virtual ID3D11Device * GetDevice()=0
デバイスを取得する。
テクスチャ読み込み破棄関数指定クラス
Definition: Effekseer.h:2401
モデル読み込み破棄関数指定クラス
Definition: Effekseer.h:2461
virtual const ::Effekseer::Matrix44 & GetProjectionMatrix() const =0
投影行列を取得する。
virtual void ResetRenderState()=0
レンダーステートを強制的にリセットする。
virtual void SetRestorationOfStatesFlag(bool flag)=0
ステートを復帰するかどうかのフラグを設定する。
virtual void OnLostDevice()=0
デバイスロストが発生した時に実行する。
virtual ::Effekseer::TextureLoader * CreateTextureLoader(::Effekseer::FileInterface *fileInterface=NULL)=0
標準のテクスチャ読込クラスを生成する。
3次元ベクトル
Definition: Effekseer.h:541
参照カウンタのインターフェース
Definition: Effekseer.h:381
virtual void SetLightAmbientColor(::Effekseer::Color &color)=0
ライトの環境光の色を設定する。
virtual ::Effekseer::Matrix44 & GetCameraProjectionMatrix()=0
カメラプロジェクション行列を取得する。
描画クラス
Definition: EffekseerRendererDX11.h:255
Definition: Effekseer.h:663
virtual ::Effekseer::ModelLoader * CreateModelLoader(::Effekseer::FileInterface *fileInterface=NULL)=0
標準のモデル読込クラスを生成する。
virtual void SetDistortingCallback(DistortingCallback *callback)=0
背景を歪ませるエフェクトが描画される前に呼ばれるコールバックを設定する。
virtual void Destroy()=0
このインスタンスを破棄する。
virtual void SetProjectionMatrix(const ::Effekseer::Matrix44 &mat)=0
投影行列を設定する。
virtual void SetLightColor(::Effekseer::Color &color)=0
ライトの色を設定する。
モデルクラス
Definition: Effekseer.h:2520
Definition: EffekseerRendererDX9.h:68
virtual DistortingCallback * GetDistortingCallback()=0
背景を歪ませるエフェクトが描画される前に呼ばれるコールバックを取得する。
virtual ~Model()
デストラクタ
Definition: EffekseerRendererDX11.h:324
virtual bool EndRendering()=0
描画を終了する時に実行する。
virtual ::Effekseer::RibbonRenderer * CreateRibbonRenderer()=0
リボンレンダラーを生成する。
virtual void OnResetDevice()=0
デバイスがリセットされた時に実行する。