Effekseer

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

- ファイル一覧

全て クラス 関数 変数
EffekseerRendererGL.h
1
2 #ifndef __EFFEKSEERRENDERER_GL_BASE_PRE_H__
3 #define __EFFEKSEERRENDERER_GL_BASE_PRE_H__
4
5 //----------------------------------------------------------------------------------
6 // Include
7 //----------------------------------------------------------------------------------
8 #include <Effekseer.h>
9
10 #if defined(__EFFEKSEER_RENDERER_GL_GLEW__)
11
12 #if _WIN32
13 #include <GL/gl.h>
14 #else
15 #include <GL/glew.h>
16 #endif
17
18 #elif defined(__EFFEKSEER_RENDERER_GL_GLEW_S__)
19
20 #if _WIN32
21 #include <GL/gl.h>
22 #else
23 #define GLEW_STATIC
24 #include <GL/glew.h>
25 #endif
26
27
28 #elif defined(__EFFEKSEER_RENDERER_GLES2__)
29
30 #if defined(__APPLE__)
31 #include <OpenGLES/ES2/gl.h>
32 #include <OpenGLES/ES2/glext.h>
33 #else
34 #include <GLES2/gl2.h>
35 #include <GLES2/gl2ext.h>
36 #endif
37
38 #elif defined(__EFFEKSEER_RENDERER_GLES3__)
39
40 #if defined(__APPLE__)
41 #include <OpenGLES/ES3/gl.h>
42 #else
43 #define GL_GLEXT_PROTOTYPES
44 #include <GLES3/gl3.h>
45 #endif
46
47 #elif defined(__EFFEKSEER_RENDERER_GL2__)
48
49 #if defined(__APPLE__)
50 #include <OpenGL/gl.h>
51 #else
52 #include <GL/gl.h>
53 #endif
54
55 #else
56
57 #if defined(__APPLE__)
58 #include <OpenGL/gl3.h>
59 #else
60 #include <GL/gl.h>
61 #endif
62
63 #endif
64
65 #if _WIN32
66 #pragma comment(lib, "gdiplus.lib")
67 #pragma comment(lib, "opengl32.lib")
68 #endif
69
70 //----------------------------------------------------------------------------------
71 //
72 //----------------------------------------------------------------------------------
73 namespace EffekseerRendererGL
74 {
75 //----------------------------------------------------------------------------------
76 //
77 //----------------------------------------------------------------------------------
78 class Renderer;
79
80 enum class OpenGLDeviceType
81 {
82 OpenGL2,
83 OpenGL3,
84 OpenGLES2,
85 OpenGLES3,
86 Emscripten,
87 };
88
89 //----------------------------------------------------------------------------------
90 //
91 //----------------------------------------------------------------------------------
92 }
93 //----------------------------------------------------------------------------------
94 //
95 //----------------------------------------------------------------------------------
96 #endif // __EFFEKSEERRENDERER_GL_BASE_PRE_H__
97
98 #ifndef __EFFEKSEERRENDERER_RENDERER_H__
99 #define __EFFEKSEERRENDERER_RENDERER_H__
100
101 //----------------------------------------------------------------------------------
102 // Include
103 //----------------------------------------------------------------------------------
104 #include <Effekseer.h>
105
106 //-----------------------------------------------------------------------------------
107 //
108 //-----------------------------------------------------------------------------------
109 namespace EffekseerRenderer
110 {
111 //-----------------------------------------------------------------------------------
112 //
113 //-----------------------------------------------------------------------------------
114
118 class DistortingCallback
119 {
120 public:
121 DistortingCallback() {}
122 virtual ~DistortingCallback() {}
123
124 virtual bool OnDistorting() { return false; }
125 };
126 //-----------------------------------------------------------------------------------
127 //
128 //-----------------------------------------------------------------------------------
129 class Renderer
130 : ::Effekseer::IReference
131 {
132 protected:
133 Renderer() {}
134 virtual ~Renderer() {}
135
136 public:
140 virtual void OnLostDevice() = 0;
141
145 virtual void OnResetDevice() = 0;
146
150 virtual void Destroy() = 0;
151
155 virtual void SetRestorationOfStatesFlag(bool flag) = 0;
156
160 virtual bool BeginRendering() = 0;
161
165 virtual bool EndRendering() = 0;
166
170 virtual const ::Effekseer::Vector3D& GetLightDirection() const = 0;
171
175 virtual void SetLightDirection( ::Effekseer::Vector3D& direction ) = 0;
176
180 virtual const ::Effekseer::Color& GetLightColor() const = 0;
181
185 virtual void SetLightColor( ::Effekseer::Color& color ) = 0;
186
190 virtual const ::Effekseer::Color& GetLightAmbientColor() const = 0;
191
195 virtual void SetLightAmbientColor( ::Effekseer::Color& color ) = 0;
196
200 virtual int32_t GetSquareMaxCount() const = 0;
201
205 virtual const ::Effekseer::Matrix44& GetProjectionMatrix() const = 0;
206
210 virtual void SetProjectionMatrix( const ::Effekseer::Matrix44& mat ) = 0;
211
215 virtual const ::Effekseer::Matrix44& GetCameraMatrix() const = 0;
216
220 virtual void SetCameraMatrix( const ::Effekseer::Matrix44& mat ) = 0;
221
225 virtual ::Effekseer::Matrix44& GetCameraProjectionMatrix() = 0;
226
230 virtual ::Effekseer::SpriteRenderer* CreateSpriteRenderer() = 0;
231
235 virtual ::Effekseer::RibbonRenderer* CreateRibbonRenderer() = 0;
236
240 virtual ::Effekseer::RingRenderer* CreateRingRenderer() = 0;
241
245 virtual ::Effekseer::ModelRenderer* CreateModelRenderer() = 0;
246
250 virtual ::Effekseer::TrackRenderer* CreateTrackRenderer() = 0;
251
255 virtual ::Effekseer::TextureLoader* CreateTextureLoader( ::Effekseer::FileInterface* fileInterface = NULL ) = 0;
256
260 virtual ::Effekseer::ModelLoader* CreateModelLoader( ::Effekseer::FileInterface* fileInterface = NULL ) = 0;
261
265 virtual void ResetRenderState() = 0;
266
270 virtual DistortingCallback* GetDistortingCallback() = 0;
271
275 virtual void SetDistortingCallback(DistortingCallback* callback) = 0;
276 };
277
278 //----------------------------------------------------------------------------------
279 //
280 //----------------------------------------------------------------------------------
281 }
282 //----------------------------------------------------------------------------------
283 //
284 //----------------------------------------------------------------------------------
285 #endif // __EFFEKSEERRENDERER_RENDERER_H__
286 #ifndef __EFFEKSEERRENDERER_GL_RENDERER_H__
287 #define __EFFEKSEERRENDERER_GL_RENDERER_H__
288
289 //----------------------------------------------------------------------------------
290 // Include
291 //----------------------------------------------------------------------------------
292
293 //----------------------------------------------------------------------------------
294 // Lib
295 //----------------------------------------------------------------------------------
296
297 //----------------------------------------------------------------------------------
298 //
299 //----------------------------------------------------------------------------------
300 namespace EffekseerRendererGL
301 {
302 //----------------------------------------------------------------------------------
303 //
304 //----------------------------------------------------------------------------------
305
309 ::Effekseer::TextureLoader* CreateTextureLoader(::Effekseer::FileInterface* fileInterface = NULL);
310
314 ::Effekseer::ModelLoader* CreateModelLoader(::Effekseer::FileInterface* fileInterface = NULL);
315
319 class Renderer
320 : public ::EffekseerRenderer::Renderer
321 {
322 protected:
323 Renderer() {}
324 virtual ~Renderer() {}
325
326 public:
333 static Renderer* Create(int32_t squareMaxCount, OpenGLDeviceType deviceType = OpenGLDeviceType::OpenGL2);
334
338 virtual int32_t GetSquareMaxCount() const = 0;
339
345 virtual void SetSquareMaxCount(int32_t count) = 0;
346
350 virtual Effekseer::TextureData* GetBackground() = 0;
351
355 virtual void SetBackground(GLuint background) = 0;
356 };
357
358 //----------------------------------------------------------------------------------
359 //
360 //----------------------------------------------------------------------------------
364 class Model
365 : public Effekseer::Model
366 {
367 private:
368
369 public:
370 GLuint VertexBuffer;
371 GLuint IndexBuffer;
372 int32_t VertexCount;
373 int32_t IndexCount;
374 int32_t ModelCount;
375
376 Model(void* data, int32_t size);
377 ~Model();
378 };
379
380 //----------------------------------------------------------------------------------
381 //
382 //----------------------------------------------------------------------------------
383 }
384 //----------------------------------------------------------------------------------
385 //
386 //----------------------------------------------------------------------------------
387 #endif // __EFFEKSEERRENDERER_GL_RENDERER_H__
EffekseerRendererGL::Renderer::SetBackground
virtual void SetBackground(GLuint background)=0
背景を設定する。
EffekseerRendererGL::Renderer::Create
static Renderer * Create(int32_t squareMaxCount, OpenGLDeviceType deviceType=OpenGLDeviceType::OpenGL2)
インスタンスを生成する。
EffekseerRenderer::Renderer::CreateTrackRenderer
virtual ::Effekseer::TrackRenderer * CreateTrackRenderer()=0
軌跡レンダラーを生成する。
EffekseerRenderer::Renderer::GetLightAmbientColor
virtual const ::Effekseer::Color & GetLightAmbientColor() const =0
ライトの環境光の色を取得する。
EffekseerRenderer::Renderer::GetSquareMaxCount
virtual int32_t GetSquareMaxCount() const =0
最大描画スプライト数を取得する。
EffekseerRendererGL::Renderer::SetSquareMaxCount
virtual void SetSquareMaxCount(int32_t count)=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
ライトの方向を設定する。
EffekseerRendererGL::Renderer
描画クラス
Definition: EffekseerRendererGL.h:319
EffekseerRendererGL::Model::~Model
~Model()
デストラクタ
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
描画を開始する時に実行する。
EffekseerRendererGL::Renderer::GetSquareMaxCount
virtual int32_t GetSquareMaxCount() const =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
EffekseerRenderer::Renderer::GetProjectionMatrix
virtual const ::Effekseer::Matrix44 & GetProjectionMatrix() const =0
投影行列を取得する。
EffekseerRenderer::Renderer::ResetRenderState
virtual void ResetRenderState()=0
レンダーステートを強制的にリセットする。
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
カメラプロジェクション行列を取得する。
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
投影行列を設定する。
EffekseerRendererGL::Renderer::GetBackground
virtual Effekseer::TextureData * GetBackground()=0
背景を取得する。
EffekseerRendererGL::Model
モデル
Definition: EffekseerRendererGL.h:364
EffekseerRenderer::Renderer::SetLightColor
virtual void SetLightColor(::Effekseer::Color &color)=0
ライトの色を設定する。
Effekseer::Model
モデルクラス
Definition: Effekseer.h:2520
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
デバイスがリセットされた時に実行する。