11 #include "RenderSystemTypes.h" 12 #include "utils/ColorUtils.h" 13 #include "utils/Geometry.h" 33 virtual bool InitRenderSystem() = 0;
34 virtual bool DestroyRenderSystem() = 0;
35 virtual bool ResetRenderSystem(
int width,
int height) = 0;
37 virtual bool BeginRender() = 0;
38 virtual bool EndRender() = 0;
39 virtual void PresentRender(
bool rendered,
bool videoLayer) = 0;
40 virtual bool ClearBuffers(UTILS::COLOR::Color color) = 0;
41 virtual bool IsExtSupported(
const char* extension)
const = 0;
43 virtual void SetViewPort(
const CRect& viewPort) = 0;
44 virtual void GetViewPort(
CRect& viewPort) = 0;
45 virtual void RestoreViewPort() {}
47 virtual bool ScissorsCanEffectClipping() {
return false; }
48 virtual CRect ClipRectToScissorRect(
const CRect &rect) {
return CRect(); }
49 virtual void SetScissors(
const CRect &rect) = 0;
50 virtual void ResetScissors() = 0;
52 virtual void CaptureStateBlock() = 0;
53 virtual void ApplyStateBlock() = 0;
55 virtual void SetCameraPosition(
const CPoint &camera,
int screenWidth,
int screenHeight,
float stereoFactor = 0.f) = 0;
56 virtual void SetStereoMode(RENDER_STEREO_MODE mode, RENDER_STEREO_VIEW view)
65 virtual void Project(
float &x,
float &y,
float &z) { }
67 virtual std::string GetShaderPath(
const std::string &filename) {
return ""; }
69 void GetRenderVersion(
unsigned int& major,
unsigned int& minor)
const;
70 const std::string& GetRenderVendor()
const {
return m_RenderVendor; }
71 const std::string& GetRenderRenderer()
const {
return m_RenderRenderer; }
72 const std::string& GetRenderVersionString()
const {
return m_RenderVersion; }
73 virtual bool SupportsNPOT(
bool dxt)
const;
74 virtual bool SupportsStereo(RENDER_STEREO_MODE mode)
const;
75 unsigned int GetMaxTextureSize()
const {
return m_maxTextureSize; }
76 unsigned int GetMinDXTPitch()
const {
return m_minDXTPitch; }
78 virtual void ShowSplash(
const std::string& message);
81 bool m_bRenderCreated;
83 unsigned int m_maxTextureSize;
84 unsigned int m_minDXTPitch;
86 std::string m_RenderRenderer;
87 std::string m_RenderVendor;
88 std::string m_RenderVersion;
89 int m_RenderVersionMinor;
90 int m_RenderVersionMajor;
91 RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF;
92 RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF;
93 bool m_limitedColorRange =
false;
94 bool m_transferPQ{
false};
96 std::unique_ptr<CGUIImage> m_splashImage;
97 std::unique_ptr<CGUITextLayout> m_splashMessageLayout;
Definition: RenderSystem.h:27
virtual void Project(float &x, float &y, float &z)
Project (x,y,z) 3d scene coordinates to (x,y) 2d screen coordinates.
Definition: RenderSystem.h:65
Definition: GUITextLayout.h:56
Definition: GUIImage.h:27