27 #ifndef _CEGUIDirect3D11Renderer_h_
28 #define _CEGUIDirect3D11Renderer_h_
30 #include "../../CEGUIRenderer.h"
31 #include "../../CEGUISize.h"
32 #include "../../CEGUIVector.h"
35 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
36 # ifdef DIRECT3D11_GUIRENDERER_EXPORTS
37 # define D3D11_GUIRENDERER_API __declspec(dllexport)
39 # define D3D11_GUIRENDERER_API __declspec(dllimport)
42 # define D3D11_GUIRENDERER_API
46 # pragma warning(push)
47 # pragma warning(disable : 4251)
52 struct ID3D11DeviceContext;
54 struct ID3DX11EffectTechnique;
55 struct ID3D11InputLayout;
56 struct ID3DX11EffectShaderResourceVariable;
57 struct ID3DX11EffectMatrixVariable;
58 struct ID3D11ShaderResourceView;
77 class Direct3D11GeometryBuffer;
78 class Direct3D11Texture;
107 ID3D11DeviceContext* context);
124 static void destroySystem();
151 void bindTechniquePass(
const BlendMode mode);
153 void setCurrentTextureShaderResource(ID3D11ShaderResourceView* srv);
155 void setProjectionMatrix(D3DXMATRIX& matrix);
157 void setWorldMatrix(D3DXMATRIX& matrix);
163 void destroyAllGeometryBuffers();
166 void destroyAllTextureTargets();
170 void destroyTexture(
Texture& texture);
171 void destroyAllTextures();
172 void beginRendering();
174 void setDisplaySize(
const Size& sz);
175 const Size& getDisplaySize()
const;
176 const Vector2& getDisplayDPI()
const;
177 uint getMaxTextureSize()
const;
178 const String& getIdentifierString()
const;
188 Size getViewportSize();
235 #if defined(_MSC_VER)
236 # pragma warning(pop)
239 #endif // end of guard _CEGUIDirect3D11Renderer_h_
Class used as a two dimensional vector (aka a Point)
Definition: CEGUIVector.h:45
ID3DX11EffectShaderResourceVariable * d_boundTextureVariable
Variable to access current texture (actually shader resource view)
Definition: CEGUIDirect3D11Renderer.h:225
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: CEGUIGeometryBuffer.h:42
Class that holds the size (width & height) of something.
Definition: CEGUISize.h:43
ID3D11Device * d_device
The D3D device context we're using to create various resources with.
Definition: CEGUIDirect3D11Renderer.h:69
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: CEGUITextureTarget.h:41
ID3DX11EffectTechnique * d_premultipliedTechnique
Rendering technique that supplies BM_RTT_PREMULTIPLIED type rendering.
Definition: CEGUIDirect3D11Renderer.h:221
Size d_displaySize
What the renderer considers to be the current display size.
Definition: CEGUIDirect3D11Renderer.h:197
TextureList d_textures
Container used to track textures.
Definition: CEGUIDirect3D11Renderer.h:215
RenderTarget * d_defaultTarget
The default RenderTarget (used by d_defaultRoot)
Definition: CEGUIDirect3D11Renderer.h:201
ID3D11DeviceContext * d_context
The D3D device context we're using to render.
Definition: CEGUIDirect3D11Renderer.h:71
Definition: CEGUIDirect3D11Renderer.h:66
static String d_rendererID
String holding the renderer identification text.
Definition: CEGUIDirect3D11Renderer.h:191
Abstract base class specifying the required interface for Texture objects.
Definition: CEGUITexture.h:50
GeometryBufferList d_geometryBuffers
Container used to track geometry buffers.
Definition: CEGUIDirect3D11Renderer.h:211
Abstract class defining the basic required interface for Renderer objects.
Definition: CEGUIRenderer.h:80
BlendMode
Enumerated type that contains the valid options that specify the type of blending that is to be perfo...
Definition: CEGUIRenderer.h:59
Definition: CEGUIRenderingRoot.h:36
std::vector< Direct3D11GeometryBuffer * > GeometryBufferList
container type used to hold GeometryBuffers we create.
Definition: CEGUIDirect3D11Renderer.h:209
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: CEGUIRenderTarget.h:42
TextureTargetList d_textureTargets
Container used to track texture targets.
Definition: CEGUIDirect3D11Renderer.h:207
IDevice11 d_device
The D3D device we're using to render with.
Definition: CEGUIDirect3D11Renderer.h:194
Renderer implementation using Direct3D 10.
Definition: CEGUIDirect3D11Renderer.h:82
ID3D11InputLayout * d_inputLayout
D3D10 input layout describing the vertex format we use.
Definition: CEGUIDirect3D11Renderer.h:223
std::vector< Direct3D11Texture * > TextureList
container type used to hold Textures we create.
Definition: CEGUIDirect3D11Renderer.h:213
ID3DX11EffectMatrixVariable * d_worldMatrixVariable
Variable to access world matrix used in geometry transformation.
Definition: CEGUIDirect3D11Renderer.h:227
Vector2 d_displayDPI
What the renderer considers to be the current display DPI resolution.
Definition: CEGUIDirect3D11Renderer.h:199
std::vector< TextureTarget * > TextureTargetList
container type used to hold TextureTargets we create.
Definition: CEGUIDirect3D11Renderer.h:205
RenderingRoot * d_defaultRoot
The default rendering root object.
Definition: CEGUIDirect3D11Renderer.h:203
ID3DX11EffectTechnique * d_normalTechnique
Rendering technique that supplies BM_NORMAL type rendering.
Definition: CEGUIDirect3D11Renderer.h:219
ID3DX11EffectMatrixVariable * d_projectionMatrixVariable
Variable to access projection matrix used in geometry transformation.
Definition: CEGUIDirect3D11Renderer.h:229
ID3DX11Effect * d_effect
Effect (shader) used when rendering.
Definition: CEGUIDirect3D11Renderer.h:217
String class used within the GUI system.
Definition: CEGUIString.h:57