26 #ifndef _CEGUIDirect3D11Renderer_h_
27 #define _CEGUIDirect3D11Renderer_h_
29 #include "../../Renderer.h"
30 #include "../../Size.h"
31 #include "../../Vector.h"
35 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
36 # ifdef CEGUIDIRECT3D11RENDERER_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;
110 ID3D11DeviceContext* context,
111 const int abi = CEGUI_VERSION_ABI);
128 static void destroySystem();
135 const int abi = CEGUI_VERSION_ABI);
156 void bindTechniquePass(
const BlendMode mode,
const bool clipped);
158 void setCurrentTextureShaderResource(ID3D11ShaderResourceView* srv);
160 void setProjectionMatrix(D3DXMATRIX& matrix);
162 void setWorldMatrix(D3DXMATRIX& matrix);
168 void destroyAllGeometryBuffers();
171 void destroyAllTextureTargets();
175 const String& resourceGroup);
177 void destroyTexture(
Texture& texture);
178 void destroyTexture(
const String& name);
179 void destroyAllTextures();
181 bool isTextureDefined(
const String& name)
const;
182 void beginRendering();
184 void setDisplaySize(
const Sizef& sz);
185 const Sizef& getDisplaySize()
const;
186 const Vector2f& getDisplayDPI()
const;
187 uint getMaxTextureSize()
const;
188 const String& getIdentifierString()
const;
198 Sizef getViewportSize();
201 void throwIfNameExists(
const String& name)
const;
203 static void logTextureCreation(
const String& name);
205 static void logTextureDestruction(
const String& name);
255 #if defined(_MSC_VER)
256 # pragma warning(pop)
259 #endif // end of guard _CEGUIDirect3D11Renderer_h_