My Project
SpriteRendererOpenGL.h
1 #pragma once
2 #include "SpriteRenderer.h"
3 
4 namespace ParaEngine
5 {
6  class CEffectFile;
7 
9  {
10  public:
12  virtual ~CSpriteRendererOpenGL();
13 
14  void Cleanup();
15 
16  public:
17  virtual HRESULT Begin(DWORD Flags);
18  virtual void End();
19  virtual void FlushQuads();
20 
21  virtual bool BeginCustomShader();
22  virtual void EndCustomShader();
23  virtual void UpdateShader(bool bForceUpdate = false);
24  virtual void SetNeedUpdateShader(bool bNeedUpdate);
25 
26  virtual HRESULT DrawRect(const RECT* pRect, Color color, float depth);
27 
28  virtual HRESULT DrawQuad(TextureEntity* pTexture, const RECT* pSrcRect, const Vector3* vCenter, const Vector3* pPosition, Color c);
29 
30  virtual void InitDeviceObjects();
31 
32  virtual void RestoreDeviceObjects();
33 
34  virtual void InvalidateDeviceObjects();
35 
36  virtual void DeleteDeviceObjects();
37 
39  virtual void SetTextMode(bool bIsTextMode = true);
40 
41  virtual void PrepareDraw();
42 
43  protected:
44  virtual void DrawTriangles(const sprite_vertex* pVertices, int nTriangleCount);
45 
46  protected:
47  Matrix4 m_proj;
48  BOOL m_ready;
49  /* Store the relevant caps to prevent multiple GetDeviceCaps calls */
50  DWORD texfilter_caps;
51  DWORD maxanisotropy;
52  DWORD alphacmp_caps;
53 
54  ParaViewport m_viewport;
55  ParaViewport m_lastViewport;
56  // all sprites
57  std::vector<SpriteQuad> m_sprites;
58  // number of sprites to be drawn
59  int m_sprite_count;
60  CEffectFile* m_pEffectFile;
61  bool m_bNeedUpdateShader;
66  };
67 }
68 
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition: TextureEntity.h:29
different physics engine has different winding order.
Definition: EventBinding.h:32
virtual bool BeginCustomShader()
call BeginCustomShader and EndCustomShader.
Definition: ManagedDef.h:18
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
Definition: ParaViewport.h:5
bool m_bIsTextModeDevice
text mode on current shader
Definition: SpriteRendererOpenGL.h:65
bool m_bIsTextMode
current text mode
Definition: SpriteRendererOpenGL.h:63
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: ParaMatrix4.h:23
Definition: SpriteRendererOpenGL.h:8
Definition: effect_file.h:323
virtual void SetTextMode(bool bIsTextMode=true)
whether to set text mode.
Definition: SpriteRenderer.h:7
Definition: ParaColor.h:275
base class for sprite renderer
Definition: SpriteRenderer.h:55