Effekseer

- メインページ
- クラス
- ファイル

- ファイル一覧

全て クラス 関数 変数
EffekseerRendererDX9.h
1
2 #ifndef __EFFEKSEERRENDERER_DX9_BASE_PRE_H__
3 #define __EFFEKSEERRENDERER_DX9_BASE_PRE_H__
4
5 //----------------------------------------------------------------------------------
6 // Include
7 //----------------------------------------------------------------------------------
8 #include <Effekseer.h>
9
10 #include <windows.h>
11 #include <d3d9.h>
12
13 #if _WIN32
14 #pragma comment(lib, "gdiplus.lib")
15 #pragma comment(lib, "d3d9.lib" )
16 #endif
17
18 //----------------------------------------------------------------------------------
19 //
20 //----------------------------------------------------------------------------------
21 namespace EffekseerRendererDX9
22 {
23 //----------------------------------------------------------------------------------
24 //
25 //----------------------------------------------------------------------------------
26 class Renderer;
27
28 //----------------------------------------------------------------------------------
29 //
30 //----------------------------------------------------------------------------------
31 }
32 //----------------------------------------------------------------------------------
33 //
34 //----------------------------------------------------------------------------------
35 #endif // __EFFEKSEERRENDERER_DX9_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
69 : ::Effekseer::IReference
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_DX9_RENDERER_H__
226 #define __EFFEKSEERRENDERER_DX9_RENDERER_H__
227
228 //----------------------------------------------------------------------------------
229 // Include
230 //----------------------------------------------------------------------------------
231
232 //----------------------------------------------------------------------------------
233 //
234 //----------------------------------------------------------------------------------
235 namespace EffekseerRendererDX9
236 {
237
241 ::Effekseer::TextureLoader* CreateTextureLoader(LPDIRECT3DDEVICE9 device, ::Effekseer::FileInterface* fileInterface = NULL);
242
246 ::Effekseer::ModelLoader* CreateModelLoader(LPDIRECT3DDEVICE9 device, ::Effekseer::FileInterface* fileInterface = NULL);
247
248 //----------------------------------------------------------------------------------
249 //
250 //----------------------------------------------------------------------------------
254 class Renderer
255 : public ::EffekseerRenderer::Renderer
256 {
257 protected:
258 Renderer() {}
259 virtual ~Renderer() {}
260
261 public:
268 static Renderer* Create( LPDIRECT3DDEVICE9 device, int32_t squareMaxCount );
269
273 virtual LPDIRECT3DDEVICE9 GetDevice() = 0;
274
278 virtual void ChangeDevice( LPDIRECT3DDEVICE9 device ) = 0;
279
283 virtual Effekseer::TextureData* GetBackground() = 0;
284
288 virtual void SetBackground(IDirect3DTexture9* background) = 0;
289 };
290
291 //----------------------------------------------------------------------------------
292 //
293 //----------------------------------------------------------------------------------
297 class Model : public Effekseer::Model
298 {
299 private:
300
301 public:
302 IDirect3DVertexBuffer9* VertexBuffer;
303 IDirect3DIndexBuffer9* IndexBuffer;
304 int32_t VertexCount;
305 int32_t IndexCount;
306 int32_t FaceCount;
307 int32_t ModelCount;
308
309 Model( uint8_t* data, int32_t size )
310 : Effekseer::Model ( data, size )
311 , VertexBuffer ( NULL )
312 , IndexBuffer ( NULL )
313 , VertexCount ( 0 )
314 , IndexCount ( 0 )
315 , FaceCount ( 0 )
316 , ModelCount ( 0 )
317 {
318 }
319
320 virtual ~Model()
321 {
322 ES_SAFE_RELEASE( VertexBuffer );
323 ES_SAFE_RELEASE( IndexBuffer );
324 }
325 };
326
327
328 //----------------------------------------------------------------------------------
329 //
330 //----------------------------------------------------------------------------------
331 }
332 //----------------------------------------------------------------------------------
333 //
334 //----------------------------------------------------------------------------------
335 #endif // __EFFEKSEERRENDERER_DX9_RENDERER_H__
EffekseerRendererDX9::Renderer::ChangeDevice
virtual void ChangeDevice(LPDIRECT3DDEVICE9 device)=0
デバイスロストリセット間でデバイス自体を再構築する際に外部からデバイスを設定する。
EffekseerRenderer::Renderer::CreateTrackRenderer
virtual ::Effekseer::TrackRenderer * CreateTrackRenderer()=0
軌跡レンダラーを生成する。
EffekseerRenderer::DistortingCallback
背景を歪ませるエフェクトを描画する前に実行されるコールバック
Definition: EffekseerRendererDX9.h:57
EffekseerRenderer::Renderer::GetLightAmbientColor
virtual const ::Effekseer::Color & GetLightAmbientColor() const =0
ライトの環境光の色を取得する。
EffekseerRenderer::Renderer::GetSquareMaxCount
virtual int32_t GetSquareMaxCount() const =0
最大描画スプライト数を取得する。
EffekseerRenderer::Renderer::GetLightDirection
virtual const ::Effekseer::Vector3D & GetLightDirection() const =0
ライトの方向を取得する。
EffekseerRenderer::Renderer::SetCameraMatrix
virtual void SetCameraMatrix(const ::Effekseer::Matrix44 &mat)=0
カメラ行列を設定する。
EffekseerRenderer::Renderer::SetLightDirection
virtual void SetLightDirection(::Effekseer::Vector3D &direction)=0
ライトの方向を設定する。
EffekseerRenderer::Renderer::CreateRingRenderer
virtual ::Effekseer::RingRenderer * CreateRingRenderer()=0
リングレンダラーを生成する。
Effekseer::FileInterface
ファイルアクセス用のファクトリクラス
Definition: Effekseer.h:1127
EffekseerRenderer::Renderer::GetCameraMatrix
virtual const ::Effekseer::Matrix44 & GetCameraMatrix() const =0
カメラ行列を取得する。
EffekseerRenderer::Renderer::BeginRendering
virtual bool BeginRendering()=0
描画を開始する時に実行する。
Effekseer::TextureData
テクスチャデータ
Definition: Effekseer.h:455
EffekseerRenderer::Renderer::CreateSpriteRenderer
virtual ::Effekseer::SpriteRenderer * CreateSpriteRenderer()=0
スプライトレンダラーを生成する。
EffekseerRenderer::Renderer::CreateModelRenderer
virtual ::Effekseer::ModelRenderer * CreateModelRenderer()=0
モデルレンダラーを生成する。
EffekseerRenderer::Renderer::GetLightColor
virtual const ::Effekseer::Color & GetLightColor() const =0
ライトの色を取得する。
Effekseer::TextureLoader
テクスチャ読み込み破棄関数指定クラス
Definition: Effekseer.h:2401
Effekseer::ModelLoader
モデル読み込み破棄関数指定クラス
Definition: Effekseer.h:2461
EffekseerRendererDX9::Renderer::GetDevice
virtual LPDIRECT3DDEVICE9 GetDevice()=0
デバイスを取得する。
EffekseerRendererDX9::Renderer::GetBackground
virtual Effekseer::TextureData * GetBackground()=0
背景を取得する。
EffekseerRenderer::Renderer::GetProjectionMatrix
virtual const ::Effekseer::Matrix44 & GetProjectionMatrix() const =0
投影行列を取得する。
EffekseerRenderer::Renderer::ResetRenderState
virtual void ResetRenderState()=0
レンダーステートを強制的にリセットする。
EffekseerRendererDX9::Model
モデル
Definition: EffekseerRendererDX9.h:297
EffekseerRenderer::Renderer::SetRestorationOfStatesFlag
virtual void SetRestorationOfStatesFlag(bool flag)=0
ステートを復帰するかどうかのフラグを設定する。
EffekseerRenderer::Renderer::OnLostDevice
virtual void OnLostDevice()=0
デバイスロストが発生した時に実行する。
EffekseerRenderer::Renderer::CreateTextureLoader
virtual ::Effekseer::TextureLoader * CreateTextureLoader(::Effekseer::FileInterface *fileInterface=NULL)=0
標準のテクスチャ読込クラスを生成する。
Effekseer::Vector3D
3次元ベクトル
Definition: Effekseer.h:541
Effekseer::IReference
参照カウンタのインターフェース
Definition: Effekseer.h:381
EffekseerRenderer::Renderer::SetLightAmbientColor
virtual void SetLightAmbientColor(::Effekseer::Color &color)=0
ライトの環境光の色を設定する。
EffekseerRenderer::Renderer::GetCameraProjectionMatrix
virtual ::Effekseer::Matrix44 & GetCameraProjectionMatrix()=0
カメラプロジェクション行列を取得する。
EffekseerRendererDX9::Model::~Model
virtual ~Model()
デストラクタ
Definition: EffekseerRendererDX9.h:320
Effekseer::Color
色
Definition: Effekseer.h:663
EffekseerRenderer::Renderer::CreateModelLoader
virtual ::Effekseer::ModelLoader * CreateModelLoader(::Effekseer::FileInterface *fileInterface=NULL)=0
標準のモデル読込クラスを生成する。
EffekseerRenderer::Renderer::SetDistortingCallback
virtual void SetDistortingCallback(DistortingCallback *callback)=0
背景を歪ませるエフェクトが描画される前に呼ばれるコールバックを設定する。
EffekseerRenderer::Renderer::Destroy
virtual void Destroy()=0
このインスタンスを破棄する。
EffekseerRenderer::Renderer::SetProjectionMatrix
virtual void SetProjectionMatrix(const ::Effekseer::Matrix44 &mat)=0
投影行列を設定する。
EffekseerRendererDX9::Renderer::SetBackground
virtual void SetBackground(IDirect3DTexture9 *background)=0
背景を設定する。
EffekseerRenderer::Renderer::SetLightColor
virtual void SetLightColor(::Effekseer::Color &color)=0
ライトの色を設定する。
Effekseer::Model
モデルクラス
Definition: Effekseer.h:2520
EffekseerRendererDX9::Renderer::Create
static Renderer * Create(LPDIRECT3DDEVICE9 device, int32_t squareMaxCount)
インスタンスを生成する。
EffekseerRendererDX9::Renderer
描画クラス
Definition: EffekseerRendererDX9.h:254
EffekseerRenderer::Renderer
Definition: EffekseerRendererDX9.h:68
EffekseerRenderer::Renderer::GetDistortingCallback
virtual DistortingCallback * GetDistortingCallback()=0
背景を歪ませるエフェクトが描画される前に呼ばれるコールバックを取得する。
EffekseerRenderer::Renderer::EndRendering
virtual bool EndRendering()=0
描画を終了する時に実行する。
EffekseerRenderer::Renderer::CreateRibbonRenderer
virtual ::Effekseer::RibbonRenderer * CreateRibbonRenderer()=0
リボンレンダラーを生成する。
EffekseerRenderer::Renderer::OnResetDevice
virtual void OnResetDevice()=0
デバイスがリセットされた時に実行する。