You.i Engine
YiRenderSystem.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2018. All rights reserved.
2 #ifndef _YI_RENDER_SYSTEM_H_
3 #define _YI_RENDER_SYSTEM_H_
4 
5 #include "framework/YiPredef.h"
6 
12 class CYIRenderSystemPriv;
13 class CYICapabilities;
14 class CYIMutex;
15 class IYIRenderer;
16 class IYIMaterialFactory;
17 class CYIMeshFactory;
18 class IYIBufferFactory;
19 
29 {
30 public:
31 
37  {
38  YI_NONE = 0,
43  YI_MASK = 5,
47  /*
48  * The following section is based of HTML5 CanvasRenderingContext2D.globalCompositeOperation
49  * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
50  */
51 
61  YI_COPY = 15,
62  YI_XOR = 16,
65  };
66 
71  {
81  };
82 
87  {
98  };
99 
104  {
108  };
109 
114  {
119  };
120 
124  static CYIRenderSystem *GetInstance();
125 
126  virtual ~CYIRenderSystem();
127 
129 
133  const CYICapabilities *GetCapabilities() const;
134 
140 
145 
151 
156 
157 
158 private:
162  CYIRenderSystem();
163 
167  static CYIMutex m_RenderSystemMutex;
168 
172  CYIRenderSystemPriv *m_pPriv;
173 
175 };
176 
179 #endif // _YI_RENDER_SYSTEM_H_
YI_BLEND_MODE
Definition: YiRenderSystem.h:36
Definition: YiRenderSystem.h:92
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
IYIMaterialFactory * GetMaterialFactory()
Definition: YiRenderSystem.h:42
Definition: YiRenderSystem.h:105
void SetScreenFrameBufferBinding()
YI_DEPTH_TEST
Definition: YiRenderSystem.h:70
Definition: YiMutex.h:110
Definition: YiRenderSystem.h:41
Definition: YiRenderSystem.h:79
Definition: YiRenderSystem.h:73
const CYICapabilities * GetCapabilities() const
Definition: YiRenderSystem.h:43
Definition: YiRenderSystem.h:117
Definition: YiRenderSystem.h:77
Material Factory interface for the generation of all things texture and shader related.
Definition: YiMaterialFactory.h:23
Definition: YiRenderSystem.h:106
Definition: YiRenderSystem.h:55
Definition: YiRenderSystem.h:52
Definition: YiRenderSystem.h:116
Definition: YiRenderSystem.h:115
IYIRenderer * GetSceneRenderer()
Definition: YiRenderSystem.h:74
Definition: YiRenderSystem.h:53
IYIBufferFactory * GetBufferFactory()
Definition: YiCapabilities.h:85
Definition: YiRenderSystem.h:107
YI_STENCIL_MODE
Definition: YiRenderSystem.h:86
Definition: YiRenderSystem.h:72
CYIMeshFactory * GetMeshFactory()
Definition: YiRenderSystem.h:57
CYIRenderSystem is a singleton class used to acquire global instances of a number of classes...
Definition: YiRenderSystem.h:28
Definition: YiRenderSystem.h:89
Definition: YiRenderSystem.h:94
Definition: YiRenderSystem.h:61
Definition: YiRenderSystem.h:93
Definition: YiRenderSystem.h:64
YI_CULL_FACE
Definition: YiRenderSystem.h:113
Definition: YiRenderSystem.h:88
Definition: YiRenderSystem.h:54
Definition: YiRenderSystem.h:78
Definition: YiRenderSystem.h:90
Definition: YiRenderSystem.h:75
Definition: YiRenderSystem.h:76
Definition: YiRenderSystem.h:60
Definition: YiRenderSystem.h:39
Definition: YiRenderSystem.h:97
Definition: YiRenderSystem.h:62
YI_WINDING
Definition: YiRenderSystem.h:103
Definition: YiRenderSystem.h:40
Factory for the creation of Vertex and Index buffers.
Definition: YiBufferFactory.h:18
Factory for the creation of meshes.
Definition: YiMeshFactory.h:20
Definition: YiRenderSystem.h:118
static CYIRenderSystem * GetInstance()
Definition: YiRenderSystem.h:58
Definition: YiRenderSystem.h:56
Definition: YiRenderSystem.h:44
virtual ~CYIRenderSystem()
Definition: YiRenderSystem.h:80
Definition: YiRenderSystem.h:59
Definition: YiRenderSystem.h:38
Definition: YiRenderer.h:34
Definition: YiRenderSystem.h:45
Definition: YiRenderSystem.h:91