Etterna 0.74.4
Loading...
Searching...
No Matches
RageDisplay_GLES2.h
1#ifndef RAGE_DISPLAY_GLES2_H
2#define RAGE_DISPLAY_GLES2_H
3
4#include "RageDisplay.h"
5
7{
8 public:
10 ~RageDisplay_GLES2() override;
11 std::string Init(VideoModeParams&& p,
12 bool bAllowUnacceleratedRenderer) override;
13
14 std::string GetApiDescription() const override;
15 virtual void GetDisplayResolutions(DisplayResolutions& out) const override;
16 const RagePixelFormatDesc* GetPixelFormatDesc(
17 RagePixelFormat pf) const override;
18
19 bool BeginFrame() override;
20 void EndFrame() override;
21 const VideoModeParams* GetActualVideoModeParams() const override;
22 void SetBlendMode(BlendMode mode) override;
23 bool SupportsTextureFormat(RagePixelFormat pixfmt,
24 bool realtime = false) override;
25 bool SupportsPerVertexMatrixScale() override;
26 virtual intptr_t CreateTexture(RagePixelFormat pixfmt,
27 RageSurface* img,
28 bool bGenerateMipMaps) override;
29 void UpdateTexture(intptr_t iTexHandle,
30 RageSurface* img,
31 int xoffset,
32 int yoffset,
33 int width,
34 int height) override;
35 void DeleteTexture(intptr_t iTexHandle) override;
36 void ClearAllTextures() override;
37 int GetNumTextureUnits() override;
38 void SetTexture(TextureUnit tu, intptr_t iTexture) override;
39 void SetTextureMode(TextureUnit tu, TextureMode tm) override;
40 void SetTextureWrapping(TextureUnit tu, bool b) override;
41 int GetMaxTextureSize() const override;
42 void SetTextureFiltering(TextureUnit tu, bool b) override;
43 bool IsZWriteEnabled() const override;
44 bool IsZTestEnabled() const override;
45 void SetZWrite(bool b) override;
46 void SetZBias(float f) override;
47 void SetZTestMode(ZTestMode mode) override;
48 void ClearZBuffer() override;
49 void SetCullMode(CullMode mode) override;
50 void SetAlphaTest(bool b) override;
51 void SetMaterial(const RageColor& emissive,
52 const RageColor& ambient,
53 const RageColor& diffuse,
54 const RageColor& specular,
55 float shininess) override;
56 void SetLighting(bool b) override;
57 void SetLightOff(int index) override;
58 void SetLightDirectional(int index,
59 const RageColor& ambient,
60 const RageColor& diffuse,
61 const RageColor& specular,
62 const RageVector3& dir) override;
63
64 void SetSphereEnvironmentMapping(TextureUnit tu, bool b) override;
65 void SetCelShaded(int stage) override;
66
67 void SetLineWidth(float fWidth) override;
68 void SetPolygonMode(PolygonMode pm) override;
69
70 RageCompiledGeometry* CreateCompiledGeometry() override;
71 void DeleteCompiledGeometry(RageCompiledGeometry* p) override;
72
73 protected:
74 void DrawQuadsInternal(const RageSpriteVertex v[], int iNumVerts) override;
75 void DrawQuadStripInternal(const RageSpriteVertex v[],
76 int iNumVerts) override;
77 void DrawFanInternal(const RageSpriteVertex v[], int iNumVerts) override;
78 void DrawStripInternal(const RageSpriteVertex v[], int iNumVerts) override;
79 void DrawTrianglesInternal(const RageSpriteVertex v[],
80 int iNumVerts) override;
81 void DrawCompiledGeometryInternal(const RageCompiledGeometry* p,
82 int iMeshIndex) override;
83 void DrawLineStripInternal(const RageSpriteVertex v[],
84 int iNumVerts,
85 float LineWidth) override;
86 void DrawSymmetricQuadStripInternal(const RageSpriteVertex v[],
87 int iNumVerts) override;
88
89 std::string TryVideoMode(const VideoModeParams& p,
90 bool& bNewDeviceOut) override;
91 RageSurface* CreateScreenshot() override;
92 RageMatrix GetOrthoMatrix(float l,
93 float r,
94 float b,
95 float t,
96 float zn,
97 float zf) override;
98 bool SupportsSurfaceFormat(RagePixelFormat pixfmt);
99 bool SupportsRenderToTexture() const { return true; }
100};
101
102#endif
Definition RageDisplay.h:34
Definition RageDisplay_GLES2.h:7
Definition RageDisplay.h:269
The parameters used for the present Video Mode.
Definition RageDisplay.h:101
Definition RageTypes.h:332
Definition RageDisplay.h:274
Definition RageTypes.h:599
Definition RageTypes.h:557
Definition RageSurface.h:90
Definition RageTypes.h:172