My Project
Client
trunk
ParaEngineClient
renderer
SpriteRendererOpenGL.h
1
#pragma once
2
#include "SpriteRenderer.h"
3
4
namespace
ParaEngine
5
{
6
class
CEffectFile;
7
8
class
CSpriteRendererOpenGL
:
public
CSpriteRenderer
9
{
10
public
:
11
CSpriteRendererOpenGL
();
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;
63
bool
m_bIsTextMode
;
65
bool
m_bIsTextModeDevice
;
66
};
67
}
68
ParaEngine::TextureEntity
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition:
TextureEntity.h:29
ParaEngine
different physics engine has different winding order.
Definition:
EventBinding.h:32
ParaEngine::CSpriteRendererOpenGL::BeginCustomShader
virtual bool BeginCustomShader()
call BeginCustomShader and EndCustomShader.
tagRECT
Definition:
ManagedDef.h:18
ParaEngine::Vector3
Standard 3-dimensional vector.
Definition:
ParaVector3.h:16
ParaEngine::ParaViewport
Definition:
ParaViewport.h:5
ParaEngine::CSpriteRendererOpenGL::m_bIsTextModeDevice
bool m_bIsTextModeDevice
text mode on current shader
Definition:
SpriteRendererOpenGL.h:65
ParaEngine::CSpriteRendererOpenGL::m_bIsTextMode
bool m_bIsTextMode
current text mode
Definition:
SpriteRendererOpenGL.h:63
ParaEngine::Matrix4
Class encapsulating a standard 4x4 homogeneous matrix.
Definition:
ParaMatrix4.h:23
ParaEngine::CSpriteRendererOpenGL
Definition:
SpriteRendererOpenGL.h:8
ParaEngine::CEffectFile
Definition:
effect_file.h:323
ParaEngine::CSpriteRendererOpenGL::SetTextMode
virtual void SetTextMode(bool bIsTextMode=true)
whether to set text mode.
ParaEngine::sprite_vertex
Definition:
SpriteRenderer.h:7
ParaEngine::Color
Definition:
ParaColor.h:275
ParaEngine::CSpriteRenderer
base class for sprite renderer
Definition:
SpriteRenderer.h:55
Generated by
1.8.12