OgreD3D11RenderSystem.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4 (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 #ifndef __D3D11RENDERSYSTEM_H__
29 #define __D3D11RENDERSYSTEM_H__
30 
31 #include "OgreD3D11Prerequisites.h"
32 #include "OgreRenderSystem.h"
33 #include "OgreD3D11Device.h"
34 #include "OgreD3D11Mappings.h"
35 
36 namespace Ogre
37 {
38 #define MAX_LIGHTS 8
39 
40  class D3D11DriverList;
41  class D3D11Driver;
42 
47  {
48  private:
49 
50  // an enum to define the driver type of d3d11
52  {
53  DT_HARDWARE, // GPU based
54  DT_SOFTWARE, // microsoft original (slow) software driver
55  DT_WARP // microsoft new (faster) software driver - (Windows Advanced Rasterization Platform) - http://msdn.microsoft.com/en-us/library/dd285359.aspx
56 
57  };
58 
59  OGRE_D3D11_DRIVER_TYPE mDriverType; // d3d11 driver type
60  D3D_FEATURE_LEVEL mFeatureLevel;
61  D3D_FEATURE_LEVEL mMinRequestedFeatureLevel;
62  D3D_FEATURE_LEVEL mMaxRequestedFeatureLevel;
64  //int mpD3D;
67 
68  // Stored options
70 
72  HINSTANCE mhInstance;
73 
82 
84 
85 
87  void refreshD3DSettings(void);
88  void refreshFSAAOptions(void);
89  void freeDevice(void);
90 
91 // inline bool compareDecls( D3DVERTEXELEMENT9* pDecl1, D3DVERTEXELEMENT9* pDecl2, size_t size );
92 
93 
94  void initInputDevices(void);
95  void processInputDevices(void);
96 
98  DWORD _getCurrentAnisotropy(size_t unit);
100  bool _checkMultiSampleQuality(UINT SampleCount, UINT *outQuality, DXGI_FORMAT format);
101 
105 
107 
112 
119 
120  bool checkVertexTextureFormats(void);
121  void detachRenderTargetImpl(const String& name);
122 
123  CompareFunction mSceneAlphaRejectFunc; // should be merged with - mBlendDesc
124  unsigned char mSceneAlphaRejectValue; // should be merged with - mBlendDesc
126 
127  D3D11_BLEND_DESC mBlendDesc;
128 
129  D3D11_RASTERIZER_DESC mRasterizerDesc;
130 
132  D3D11_DEPTH_STENCIL_DESC mDepthStencilDesc;
133 
135 
140 
141  D3D11_RECT mScissorRect;
142 
143 
150 
151  ID3D11BlendState * mBoundBlendState;
152  ID3D11RasterizerState * mBoundRasterizer;
153  ID3D11DepthStencilState * mBoundDepthStencilState;
156 
157  ID3D11ShaderResourceView * mBoundTextures[OGRE_MAX_TEXTURE_LAYERS];
159 
160  // List of class instances per shader stage
161  ID3D11ClassInstance* mClassInstances[6][8];
162 
163  // Number of class instances per shader stage
165 
166  // Store created shader subroutines, to prevent creation and destruction every frame
167  typedef std::map<String, ID3D11ClassInstance*> ClassInstanceMap;
168  typedef std::map<String, ID3D11ClassInstance*>::iterator ClassInstanceIterator;
170 
173  {
175  //D3D11Mappings::eD3DTexType texType;
178  size_t coordIndex;
182  const Frustum *frustum;
183 
185 
187  ID3D11ShaderResourceView *pTex;
188  D3D11_SAMPLER_DESC samplerDesc;
189  D3D11_SAMPLER_DESC currentSamplerDesc;
190  //ID3D11SamplerState * pSampler;
191  bool used;
193 
194 
195  // What follows is a set of duplicated lists just to make it
196  // easier to deal with lost devices
197 
200 
202  // List of additional windows after the first (swap chains)
204 
206 
208 
210  protected:
211  void setClipPlanesImpl(const PlaneList& clipPlanes);
212 
217  void _setRenderTargetViews();
218 
219  public:
220  // constructor
222 
223  // destructor
225 
226 
227  void initRenderSystem();
228 
229  virtual void initConfigOptions(void);
230 
231  // Overridden RenderSystem functions
234  RenderWindow* _initialise( bool autoCreateWindow, const String& windowTitle = "OGRE Render Window" );
236  RenderWindow* _createRenderWindow(const String &name, unsigned int width, unsigned int height,
237  bool fullScreen, const NameValuePairList *miscParams = 0);
238 
240  RenderTexture * createRenderTexture( const String & name, unsigned int width, unsigned int height,
241  TextureType texType = TEX_TYPE_2D, PixelFormat internalFormat = PF_X8R8G8B8,
242  const NameValuePairList *miscParams = 0 );
243 
245  virtual MultiRenderTarget * createMultiRenderTarget(const String & name);
246 
247  virtual DepthBuffer* _createDepthBufferFor( RenderTarget *renderTarget );
248 
254  DepthBuffer* _addManualDepthBuffer( ID3D11DepthStencilView *depthSurface,
255  uint32 width, uint32 height, uint32 fsaa, uint32 fsaaQuality );
256 
258  void _removeManualDepthBuffer(DepthBuffer *depthBuffer);
260  virtual RenderTarget * detachRenderTarget(const String &name);
261 
262  const String& getName(void) const;
263  void getCustomAttribute(const String& name, void* pData);
264  // Low-level overridden members
265  void setConfigOption( const String &name, const String &value );
266  void reinitialise();
267  void shutdown();
268  void setAmbientLight( float r, float g, float b );
269  void setShadingType( ShadeOptions so );
270  void setLightingEnabled( bool enabled );
271  void destroyRenderTarget(const String& name);
273  void setStencilCheckEnabled(bool enabled);
275  uint32 refValue = 0, uint32 compareMask = 0xFFFFFFFF, uint32 writeMask = 0xFFFFFFFF,
276  StencilOperation stencilFailOp = SOP_KEEP,
277  StencilOperation depthFailOp = SOP_KEEP,
278  StencilOperation passOp = SOP_KEEP,
279  bool twoSidedOperation = false);
280  void setNormaliseNormals(bool normalise);
281 
282  virtual String getErrorDescription(long errorNumber) const;
283 
284  // Low-level overridden members, mainly for internal use
291  void _useLights(const LightList& lights, unsigned short limit);
292  void _setWorldMatrix( const Matrix4 &m );
293  void _setViewMatrix( const Matrix4 &m );
294  void _setProjectionMatrix( const Matrix4 &m );
295  void _setSurfaceParams( const ColourValue &ambient, const ColourValue &diffuse, const ColourValue &specular, const ColourValue &emissive, Real shininess, TrackVertexColourType tracking );
296  void _setPointSpritesEnabled(bool enabled);
297  void _setPointParameters(Real size, bool attenuationEnabled,
298  Real constant, Real linear, Real quadratic, Real minSize, Real maxSize);
299  void _setTexture(size_t unit, bool enabled, const TexturePtr &texPtr);
300  void _setVertexTexture(size_t unit, const TexturePtr& tex);
301  void _disableTextureUnit(size_t texUnit);
302  void _setTextureCoordSet( size_t unit, size_t index );
303  void _setTextureCoordCalculation(size_t unit, TexCoordCalcMethod m,
304  const Frustum* frustum = 0);
305  void _setTextureBlendMode( size_t unit, const LayerBlendModeEx& bm );
306  void _setTextureAddressingMode(size_t stage, const TextureUnitState::UVWAddressingMode& uvw);
307  void _setTextureBorderColour(size_t stage, const ColourValue& colour);
308  void _setTextureMipmapBias(size_t unit, float bias);
309  void _setTextureMatrix( size_t unit, const Matrix4 &xform );
311  void _setSeparateSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendFactor sourceFactorAlpha,
312  SceneBlendFactor destFactorAlpha, SceneBlendOperation op = SBO_ADD, SceneBlendOperation alphaOp = SBO_ADD);
313  void _setAlphaRejectSettings( CompareFunction func, unsigned char value, bool alphaToCoverage );
314  void _setViewport( Viewport *vp );
315  void _beginFrame(void);
316  void _endFrame(void);
317  void _setCullingMode( CullingMode mode );
318  void _setDepthBufferParams( bool depthTest = true, bool depthWrite = true, CompareFunction depthFunction = CMPF_LESS_EQUAL );
319  void _setDepthBufferCheckEnabled( bool enabled = true );
320  bool _getDepthBufferCheckEnabled( void );
321  void _setColourBufferWriteEnabled(bool red, bool green, bool blue, bool alpha);
322  void _setDepthBufferWriteEnabled(bool enabled = true);
324  void _setDepthBias(float constantBias, float slopeScaleBias);
325  void _setFog( FogMode mode = FOG_NONE, const ColourValue& colour = ColourValue::White, Real expDensity = 1.0, Real linearStart = 0.0, Real linearEnd = 1.0 );
326  void _convertProjectionMatrix(const Matrix4& matrix,
327  Matrix4& dest, bool forGpuProgram = false);
328  void _makeProjectionMatrix(const Radian& fovy, Real aspect, Real nearPlane, Real farPlane,
329  Matrix4& dest, bool forGpuProgram = false);
330  void _makeProjectionMatrix(Real left, Real right, Real bottom, Real top, Real nearPlane,
331  Real farPlane, Matrix4& dest, bool forGpuProgram = false);
332  void _makeOrthoMatrix(const Radian& fovy, Real aspect, Real nearPlane, Real farPlane,
333  Matrix4& dest, bool forGpuProgram = false);
334  void _applyObliqueDepthProjection(Matrix4& matrix, const Plane& plane,
335  bool forGpuProgram);
336  void _setPolygonMode(PolygonMode level);
337  void _setTextureUnitFiltering(size_t unit, FilterType ftype, FilterOptions filter);
338  void _setTextureUnitCompareFunction(size_t unit, CompareFunction function);
339  void _setTextureUnitCompareEnabled(size_t unit, bool compare);
340  void _setTextureLayerAnisotropy(size_t unit, unsigned int maxAnisotropy);
344  void _render(const RenderOperation& op);
348  void bindGpuProgram(GpuProgram* prg);
352  void unbindGpuProgram(GpuProgramType gptype);
361 
362  void setScissorTest(bool enabled, size_t left = 0, size_t top = 0, size_t right = 800, size_t bottom = 600);
363  void clearFrameBuffer(unsigned int buffers,
364  const ColourValue& colour = ColourValue::Black,
365  Real depth = 1.0f, unsigned short stencil = 0);
366  void setClipPlane (ushort index, Real A, Real B, Real C, Real D);
367  void enableClipPlane (ushort index, bool enable);
373  void registerThread();
374  void unregisterThread();
375  void preExtraThreadsStarted();
377 
381  void _setRenderTarget(RenderTarget *target);
382 
386  bool _checkTextureFilteringSupported(TextureType ttype, PixelFormat format, int usage);
387 
388  void determineFSAASettings(uint fsaa, const String& fsaaHint, DXGI_FORMAT format, DXGI_SAMPLE_DESC* outFSAASettings);
389 
391  unsigned int getDisplayMonitorCount() const {return 1;} //todo
392 
394  virtual bool hasAnisotropicMipMapFilter() const { return true; }
395 
397 
398 
399  D3D_FEATURE_LEVEL _getFeatureLevel() const { return mFeatureLevel; }
400 
402  void setSubroutine(GpuProgramType gptype, unsigned int slotIndex, const String& subroutineName);
403 
405  void setSubroutine(GpuProgramType gptype, const String& slotName, const String& subroutineName);
406 
408  virtual void beginProfileEvent( const String &eventName );
409 
411  virtual void endProfileEvent( void );
412 
414  virtual void markProfileEvent( const String &eventName );
415  };
416 }
417 #endif
Ogre::D3D11RenderSystem::initialiseFromRenderSystemCapabilities
void initialiseFromRenderSystemCapabilities(RenderSystemCapabilities *caps, RenderTarget *primary)
See RenderSystem definition.
Ogre::HashedVector< Light * >
Ogre::D3D11RenderSystem::preExtraThreadsStarted
void preExtraThreadsStarted()
Tell the rendersystem to perform any prep tasks it needs to directly before other threads which might...
Ogre::D3D11RenderSystem::mPerStageConstantSupport
bool mPerStageConstantSupport
Per-stage constant support? (not in main caps since D3D specific & minor)
Definition: OgreD3D11RenderSystem.h:81
Ogre::D3D11RenderSystem::clearFrameBuffer
void clearFrameBuffer(unsigned int buffers, const ColourValue &colour=ColourValue::Black, Real depth=1.0f, unsigned short stencil=0)
Clears one or more frame buffers on the active render target.
Ogre::D3D11RenderSystem::initRenderSystem
void initRenderSystem()
Ogre::D3D11RenderSystem::getDisplayMonitorCount
unsigned int getDisplayMonitorCount() const
Gets the number of display monitors.
Definition: OgreD3D11RenderSystem.h:391
Ogre::D3D11RenderSystem::_setAlphaRejectSettings
void _setAlphaRejectSettings(CompareFunction func, unsigned char value, bool alphaToCoverage)
Sets the global alpha rejection approach for future renders.
Ogre::D3D11RenderSystem::bindGpuProgramParameters
void bindGpuProgramParameters(GpuProgramType gptype, GpuProgramParametersSharedPtr params, uint16 mask)
See RenderSystem.
Ogre::RenderSystem
Defines the functionality of a 3D API.
Definition: OgreRenderSystem.h:125
Ogre::D3D11RenderSystem::detachRenderTargetImpl
void detachRenderTargetImpl(const String &name)
Ogre::D3D11HLSLProgramFactory
Factory class for D3D11 HLSL programs.
Definition: OgreD3D11HLSLProgramFactory.h:37
Ogre::D3D11RenderSystem::mMinRequestedFeatureLevel
D3D_FEATURE_LEVEL mMinRequestedFeatureLevel
Definition: OgreD3D11RenderSystem.h:61
Ogre::D3D11RenderSystem::FilterMagnification
FilterOptions FilterMagnification[OGRE_MAX_TEXTURE_LAYERS]
Definition: OgreD3D11RenderSystem.h:137
Ogre
Definition: OgreAndroidLogListener.h:34
Ogre::D3D11RenderSystem::mpDXGIFactory
IDXGIFactoryN * mpDXGIFactory
Definition: OgreD3D11RenderSystem.h:209
Ogre::D3D11RenderSystem::createRenderSystemCapabilities
RenderSystemCapabilities * createRenderSystemCapabilities() const
Internal method for populating the capabilities structure.
Ogre::Plane
Defines a plane in 3D space.
Definition: OgrePlane.h:61
Ogre::D3D11RenderSystem::mBoundTesselationHullProgram
D3D11HLSLProgram * mBoundTesselationHullProgram
Definition: OgreD3D11RenderSystem.h:147
Ogre::D3D11RenderSystem::_getBoundTesselationHullProgram
D3D11HLSLProgram * _getBoundTesselationHullProgram() const
Ogre::DepthBuffer
An abstract class that contains a depth/stencil buffer.
Definition: OgreDepthBuffer.h:82
Ogre::D3D11RenderSystem::OGRE_D3D11_DRIVER_TYPE
OGRE_D3D11_DRIVER_TYPE
Definition: OgreD3D11RenderSystem.h:51
Ogre::D3D11RenderSystem::_getDevice
D3D11Device & _getDevice()
Definition: OgreD3D11RenderSystem.h:396
Ogre::D3D11RenderSystem::setStencilBufferParams
void setStencilBufferParams(CompareFunction func=CMPF_ALWAYS_PASS, uint32 refValue=0, uint32 compareMask=0xFFFFFFFF, uint32 writeMask=0xFFFFFFFF, StencilOperation stencilFailOp=SOP_KEEP, StencilOperation depthFailOp=SOP_KEEP, StencilOperation passOp=SOP_KEEP, bool twoSidedOperation=false)
Determines if this system supports hardware accelerated stencil buffer.
Ogre::HardwareOcclusionQuery
This is a abstract class that that provides the interface for the query class for hardware occlusion.
Definition: OgreHardwareOcclusionQuery.h:51
Ogre::D3D11RenderSystem::getMinimumDepthInputValue
Real getMinimumDepthInputValue(void)
Gets the minimum (closest) depth value to be used when rendering using identity transforms.
Ogre::D3D11RenderSystem::mFeatureLevel
D3D_FEATURE_LEVEL mFeatureLevel
Definition: OgreD3D11RenderSystem.h:60
Ogre::D3D11RenderSystem::determineFSAASettings
void determineFSAASettings(uint fsaa, const String &fsaaHint, DXGI_FORMAT format, DXGI_SAMPLE_DESC *outFSAASettings)
Ogre::ushort
unsigned short ushort
Definition: OgrePrerequisites.h:113
Ogre::D3D11RenderSystem::_render
void _render(const RenderOperation &op)
Render something to the active viewport.
Ogre::D3D11RenderWindowBase
Definition: OgreD3D11RenderWindow.h:47
Ogre::D3D11RenderSystem::mScissorRect
D3D11_RECT mScissorRect
Definition: OgreD3D11RenderSystem.h:141
Ogre::D3D11RenderSystem::_removeManualDepthBuffer
void _removeManualDepthBuffer(DepthBuffer *depthBuffer)
Reverts _addManualDepthBuffer actions.
Ogre::D3D11RenderSystem::_getBoundFragmentProgram
D3D11HLSLProgram * _getBoundFragmentProgram() const
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::pTex
ID3D11ShaderResourceView * pTex
texture
Definition: OgreD3D11RenderSystem.h:187
Ogre::D3D11RenderSystem::sD3DTextureStageDesc
structure holding texture unit settings for every stage
Definition: OgreD3D11RenderSystem.h:172
Ogre::D3D11RenderSystem::initInputDevices
void initInputDevices(void)
Ogre::D3D11RenderSystem::_getCurrentAnisotropy
DWORD _getCurrentAnisotropy(size_t unit)
return anisotropy level
Ogre::D3D11RenderSystem::_setTextureLayerAnisotropy
void _setTextureLayerAnisotropy(size_t unit, unsigned int maxAnisotropy)
Sets the maximal anisotropy for the specified texture unit.
Ogre::D3D11RenderSystem::_getBoundTesselationDomainProgram
D3D11HLSLProgram * _getBoundTesselationDomainProgram() const
Ogre::D3D11RenderSystem::refreshFSAAOptions
void refreshFSAAOptions(void)
Ogre::D3D11RenderSystem::_setSeparateSceneBlending
void _setSeparateSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendFactor sourceFactorAlpha, SceneBlendFactor destFactorAlpha, SceneBlendOperation op=SBO_ADD, SceneBlendOperation alphaOp=SBO_ADD)
Sets the global blending factors for combining subsequent renders with the existing frame contents.
Ogre::D3D11RenderSystem::mBoundGeometryProgram
D3D11HLSLProgram * mBoundGeometryProgram
Definition: OgreD3D11RenderSystem.h:146
Ogre::D3D11RenderSystem::mDriverType
OGRE_D3D11_DRIVER_TYPE mDriverType
Definition: OgreD3D11RenderSystem.h:59
Ogre::D3D11RenderSystem::freeDevice
void freeDevice(void)
Ogre::D3D11RenderSystem::refreshD3DSettings
void refreshD3DSettings(void)
Ogre::RenderWindow
Manages the target rendering window.
Definition: OgreRenderWindow.h:62
Ogre::D3D11RenderSystem::_createDepthBufferFor
virtual DepthBuffer * _createDepthBufferFor(RenderTarget *renderTarget)
Creates a DepthBuffer that can be attached to the specified RenderTarget.
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::type
TextureType type
the type of the texture
Definition: OgreD3D11RenderSystem.h:176
Ogre::D3D11RenderSystem::getConfigOptions
ConfigOptionMap & getConfigOptions(void)
Returns the details of this API's configuration options.
Ogre::D3D11RenderSystem::_setColourBufferWriteEnabled
void _setColourBufferWriteEnabled(bool red, bool green, bool blue, bool alpha)
Sets whether or not colour buffer writing is enabled, and for which channels.
Ogre::D3D11RenderSystem::ClassInstanceMap
std::map< String, ID3D11ClassInstance * > ClassInstanceMap
Definition: OgreD3D11RenderSystem.h:167
Ogre::D3D11RenderSystem::_setRenderTargetViews
void _setRenderTargetViews()
With DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL flag render target views are unbound from us each Present(),...
Ogre::D3D11RenderSystem::_setFog
void _setFog(FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=1.0, Real linearStart=0.0, Real linearEnd=1.0)
Sets the fogging mode for future geometry.
Ogre::GpuProgram
Defines a program which runs on the GPU such as a vertex or fragment program.
Definition: OgreGpuProgram.h:69
Ogre::D3D11RenderSystem::mLastVertexSourceCount
size_t mLastVertexSourceCount
Definition: OgreD3D11RenderSystem.h:106
Ogre::D3D11RenderSystem::mBoundComputeProgram
D3D11HLSLProgram * mBoundComputeProgram
Definition: OgreD3D11RenderSystem.h:149
Ogre::D3D11RenderSystem::_setVertexTexture
void _setVertexTexture(size_t unit, const TexturePtr &tex)
Binds a texture to a vertex sampler.
Ogre::FogMode
FogMode
Fog modes.
Definition: OgreCommon.h:121
Ogre::D3D11RenderSystem::_setProjectionMatrix
void _setProjectionMatrix(const Matrix4 &m)
Sets the projection transform matrix.
Ogre::D3D11RenderSystem::setStencilCheckEnabled
void setStencilCheckEnabled(bool enabled)
Turns stencil buffer checking on or off.
Ogre::D3D11RenderSystem::_setCullingMode
void _setCullingMode(CullingMode mode)
Sets the culling mode for the render system based on the 'vertex winding'.
Ogre::CMPF_ALWAYS_PASS
@ CMPF_ALWAYS_PASS
Definition: OgreCommon.h:67
Ogre::uint16
unsigned short uint16
Definition: OgrePlatform.h:360
Ogre::D3D11RenderSystem::mSecondaryWindows
SecondaryWindowList mSecondaryWindows
Definition: OgreD3D11RenderSystem.h:203
Ogre::D3D11RenderSystem::setVertexDeclaration
void setVertexDeclaration(VertexDeclaration *decl)
Sets the current vertex declaration, ie the source of vertex data.
Ogre::D3D11RenderSystem::mClassInstances
ID3D11ClassInstance * mClassInstances[6][8]
Definition: OgreD3D11RenderSystem.h:161
Ogre::D3D11RenderSystem::_applyObliqueDepthProjection
void _applyObliqueDepthProjection(Matrix4 &matrix, const Plane &plane, bool forGpuProgram)
Update a perspective projection matrix to use 'oblique depth projection'.
Ogre::D3D11RenderSystem::~D3D11RenderSystem
~D3D11RenderSystem()
Ogre::D3D11RenderSystem::_useLights
void _useLights(const LightList &lights, unsigned short limit)
Tells the rendersystem to use the attached set of lights (and no others) up to the number specified (...
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::currentSamplerDesc
D3D11_SAMPLER_DESC currentSamplerDesc
Definition: OgreD3D11RenderSystem.h:189
Ogre::uint32
unsigned int uint32
Definition: OgrePlatform.h:359
Ogre::SOP_KEEP
@ SOP_KEEP
Leave the stencil buffer unchanged.
Definition: OgreRenderSystem.h:84
Ogre::D3D11DriverList
Definition: OgreD3D11DriverList.h:37
Ogre::D3D11RenderSystem::mBoundSamplerStatesCount
size_t mBoundSamplerStatesCount
Definition: OgreD3D11RenderSystem.h:155
Ogre::D3D11RenderSystem::mInstanceMap
ClassInstanceMap mInstanceMap
Definition: OgreD3D11RenderSystem.h:169
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::D3D11HLSLProgram
Specialization of HighLevelGpuProgram to provide support for D3D11 High-Level Shader Language (HLSL).
Definition: OgreD3D11HLSLProgram.h:48
Ogre::D3D11RenderSystem::_setViewMatrix
void _setViewMatrix(const Matrix4 &m)
Sets the view transform matrix.
Ogre::D3D11RenderSystem::convertDomainShaderCaps
void convertDomainShaderCaps(RenderSystemCapabilities *rsc) const
Ogre::D3D11RenderSystem::bindGpuProgramPassIterationParameters
void bindGpuProgramPassIterationParameters(GpuProgramType gptype)
See RenderSystem.
Ogre::LayerBlendModeEx
Class which manages blending of both colour and alpha components.
Definition: OgreBlendMode.h:139
Ogre::NameValuePairList
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
Definition: OgreCommon.h:550
Ogre::D3D11RenderSystem::mBoundBlendState
ID3D11BlendState * mBoundBlendState
Definition: OgreD3D11RenderSystem.h:151
Ogre::IDXGIFactoryN
IDXGIFactory1 IDXGIFactoryN
Definition: OgreD3D11Prerequisites.h:84
Ogre::CompareFunction
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
Definition: OgreCommon.h:64
Ogre::D3D11RenderSystem::detachRenderTarget
virtual RenderTarget * detachRenderTarget(const String &name)
Detaches the render target with the passed name from the render system and returns a pointer to it.
Ogre::D3D11RenderSystem::postExtraThreadsStarted
void postExtraThreadsStarted()
Ogre::D3D11RenderSystem::checkVertexTextureFormats
bool checkVertexTextureFormats(void)
Ogre::D3D11RenderSystem::setScissorTest
void setScissorTest(bool enabled, size_t left=0, size_t top=0, size_t right=800, size_t bottom=600)
Sets the 'scissor region' i.e.
Ogre::D3D11RenderSystem::unbindGpuProgram
void unbindGpuProgram(GpuProgramType gptype)
See RenderSystem.
Ogre::D3D11RenderSystem::mBlendDesc
D3D11_BLEND_DESC mBlendDesc
Definition: OgreD3D11RenderSystem.h:127
Ogre::D3D11RenderSystem::mHLSLProgramFactory
D3D11HLSLProgramFactory * mHLSLProgramFactory
Definition: OgreD3D11RenderSystem.h:104
Ogre::GpuProgramType
GpuProgramType
Enumerates the types of programs which can run on the GPU.
Definition: OgreGpuProgram.h:50
Ogre::VertexBufferBinding
Records the state of all the vertex buffer bindings required to provide a vertex declaration with the...
Definition: OgreHardwareVertexBuffer.h:521
Ogre::D3D11RenderSystem::mBoundSamplerStates
ID3D11SamplerState * mBoundSamplerStates[OGRE_MAX_TEXTURE_LAYERS]
Definition: OgreD3D11RenderSystem.h:154
Ogre::D3D11RenderSystem::getHorizontalTexelOffset
Real getHorizontalTexelOffset(void)
Returns the horizontal texel offset value required for mapping texel origins to pixel origins in this...
Ogre::VertexElementType
VertexElementType
Vertex element type, used to identify the base types of the vertex contents.
Definition: OgreHardwareVertexBuffer.h:123
Ogre::D3D11Device
Definition: OgreD3D11Device.h:36
Ogre::StencilOperation
StencilOperation
Enum describing the various actions which can be taken on the stencil buffer.
Definition: OgreRenderSystem.h:81
Ogre::D3D11RenderSystem::getVerticalTexelOffset
Real getVerticalTexelOffset(void)
Returns the vertical texel offset value required for mapping texel origins to pixel origins in this r...
Ogre::D3D11RenderSystem::_setDepthBufferFunction
void _setDepthBufferFunction(CompareFunction func=CMPF_LESS_EQUAL)
Sets the comparison function for the depth buffer check.
Ogre::Matrix4
Class encapsulating a standard 4x4 homogeneous matrix.
Definition: OgreMatrix4.h:78
Ogre::RenderTarget
A 'canvas' which can receive the results of a rendering operation.
Definition: OgreRenderTarget.h:65
Ogre::D3D11RenderSystem::validateConfigOptions
String validateConfigOptions(void)
Validates the options set for the rendering system, returning a message if there are problems.
Ogre::ConfigOptionMap
map< String, ConfigOption >::type ConfigOptionMap
Definition: OgreConfigOptionMap.h:58
Ogre::SceneBlendFactor
SceneBlendFactor
Blending factors for manually blending objects with the scene.
Definition: OgreBlendMode.h:234
Ogre::D3D11RenderSystem::setClipPlane
void setClipPlane(ushort index, Real A, Real B, Real C, Real D)
OgreD3D11Prerequisites.h
Ogre::D3D11RenderSystem::DT_WARP
@ DT_WARP
Definition: OgreD3D11RenderSystem.h:55
Ogre::D3D11RenderSystem::setLightingEnabled
void setLightingEnabled(bool enabled)
Sets whether or not dynamic lighting is enabled.
Ogre::D3D11RenderSystem::mNumClassInstances
UINT mNumClassInstances[6]
Definition: OgreD3D11RenderSystem.h:164
Ogre::PixelFormat
PixelFormat
The pixel format used for images, textures, and render surfaces.
Definition: OgrePixelFormat.h:43
Ogre::D3D11RenderSystem::_disableTextureUnit
void _disableTextureUnit(size_t texUnit)
Turns off a texture unit.
Ogre::Viewport
An abstraction of a viewport, i.e.
Definition: OgreViewport.h:57
Ogre::D3D11RenderSystem::FilterMinification
FilterOptions FilterMinification[OGRE_MAX_TEXTURE_LAYERS]
Definition: OgreD3D11RenderSystem.h:136
Ogre::D3D11RenderSystem::CompareEnabled
bool CompareEnabled
Definition: OgreD3D11RenderSystem.h:139
Ogre::VertexDeclaration
This class declares the format of a set of vertex inputs, which can be issued to the rendering API th...
Definition: OgreHardwareVertexBuffer.h:337
Ogre::D3D11RenderSystem::convertHullShaderCaps
void convertHullShaderCaps(RenderSystemCapabilities *rsc) const
Ogre::D3D11RenderSystem::shutdown
void shutdown()
Shutdown the renderer and cleanup resources.
Ogre::D3D11RenderSystem::setConfigOption
void setConfigOption(const String &name, const String &value)
Sets an option for this API.
Ogre::D3D11RenderSystem::mBoundTexturesCount
size_t mBoundTexturesCount
Definition: OgreD3D11RenderSystem.h:158
Ogre::D3D11RenderSystem::_setTextureCoordSet
void _setTextureCoordSet(size_t unit, size_t index)
Sets the texture coordinate set to use for a texture unit.
Ogre::D3D11RenderSystem::_setTextureCoordCalculation
void _setTextureCoordCalculation(size_t unit, TexCoordCalcMethod m, const Frustum *frustum=0)
Sets a method for automatically calculating texture coordinates for a stage.
Ogre::D3D11RenderSystem::getColourVertexElementType
VertexElementType getColourVertexElementType(void) const
Get the native VertexElementType for a compact 32-bit colour value for this rendersystem.
Ogre::D3D11RenderSystem::hasAnisotropicMipMapFilter
virtual bool hasAnisotropicMipMapFilter() const
Determines if the system has anisotropic mip map filter support.
Definition: OgreD3D11RenderSystem.h:394
Ogre::D3D11RenderSystem::processInputDevices
void processInputDevices(void)
Ogre::D3D11RenderSystem::mDriverList
D3D11DriverList * mDriverList
List of D3D drivers installed (video cards)
Definition: OgreD3D11RenderSystem.h:75
Ogre::D3D11RenderSystem::_checkMultiSampleQuality
bool _checkMultiSampleQuality(UINT SampleCount, UINT *outQuality, DXGI_FORMAT format)
check if a FSAA is supported
Ogre::D3D11RenderSystem::markProfileEvent
virtual void markProfileEvent(const String &eventName)
Marks an instantaneous event for graphics profilers.
Ogre::D3D11RenderSystem::mTexStageDesc
struct Ogre::D3D11RenderSystem::sD3DTextureStageDesc mTexStageDesc[OGRE_MAX_TEXTURE_LAYERS]
Ogre::FilterOptions
FilterOptions
Filtering options for textures / mipmaps.
Definition: OgreCommon.h:100
Ogre::Radian
Wrapper class which indicates a given angle value is in Radians.
Definition: OgreMath.h:47
Ogre::D3D11RenderSystem::DT_SOFTWARE
@ DT_SOFTWARE
Definition: OgreD3D11RenderSystem.h:54
Ogre::D3D11RenderSystem::setAmbientLight
void setAmbientLight(float r, float g, float b)
Sets the colour & strength of the ambient (global directionless) light in the world.
Ogre::D3D11RenderSystem::_setPolygonMode
void _setPolygonMode(PolygonMode level)
Sets how to rasterise triangles, as points, wireframe or solid polys.
Ogre::D3D11RenderSystem::convertPixelShaderCaps
void convertPixelShaderCaps(RenderSystemCapabilities *rsc) const
Ogre::SBO_ADD
@ SBO_ADD
Definition: OgreBlendMode.h:255
Ogre::RenderSystemCapabilities
singleton class for storing the capabilities of the graphics card.
Definition: OgreRenderSystemCapabilities.h:279
Ogre::D3D11RenderSystem::D3D11RenderSystem
D3D11RenderSystem()
Ogre::D3D11RenderSystem::convertGeometryShaderCaps
void convertGeometryShaderCaps(RenderSystemCapabilities *rsc) const
Ogre::CMPF_LESS_EQUAL
@ CMPF_LESS_EQUAL
Definition: OgreCommon.h:69
Ogre::D3D11RenderSystem::convertVertexShaderCaps
void convertVertexShaderCaps(RenderSystemCapabilities *rsc) const
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::samplerDesc
D3D11_SAMPLER_DESC samplerDesc
Definition: OgreD3D11RenderSystem.h:188
Ogre::D3D11RenderSystem::mBoundTesselationDomainProgram
D3D11HLSLProgram * mBoundTesselationDomainProgram
Definition: OgreD3D11RenderSystem.h:148
Ogre::D3D11RenderSystem::getDirect3DDrivers
D3D11DriverList * getDirect3DDrivers(void)
structure holding texture unit settings for every stage
Ogre::MultiRenderTarget
This class represents a render target that renders to multiple RenderTextures at once.
Definition: OgreRenderTexture.h:69
Ogre::D3D11RenderSystem::_getBoundGeometryProgram
D3D11HLSLProgram * _getBoundGeometryProgram() const
Ogre::CullingMode
CullingMode
Hardware culling modes based on vertex winding.
Definition: OgreCommon.h:135
Ogre::D3D11RenderSystem::_setTextureAddressingMode
void _setTextureAddressingMode(size_t stage, const TextureUnitState::UVWAddressingMode &uvw)
Sets the texture addressing mode for a texture unit.
Ogre::D3D11RenderSystem::destroyRenderTarget
void destroyRenderTarget(const String &name)
Destroys a render target of any sort.
Ogre::D3D11RenderSystem::_setViewport
void _setViewport(Viewport *vp)
Sets the provided viewport as the active one for future rendering operations.
Ogre::D3D11RenderSystem::setClipPlanesImpl
void setClipPlanesImpl(const PlaneList &clipPlanes)
Internal method used to set the underlying clip planes when needed.
Ogre::D3D11RenderSystem::mStencilRef
UINT mStencilRef
Definition: OgreD3D11RenderSystem.h:131
Ogre::D3D11RenderSystem::_convertProjectionMatrix
void _convertProjectionMatrix(const Matrix4 &matrix, Matrix4 &dest, bool forGpuProgram=false)
Converts a uniform projection matrix to suitable for this render system.
Ogre::D3D11RenderSystem::mhInstance
HINSTANCE mhInstance
instance
Definition: OgreD3D11RenderSystem.h:72
Ogre::TrackVertexColourType
int TrackVertexColourType
An enumeration describing which material properties should track the vertex colours.
Definition: OgreCommon.h:276
Ogre::D3D11RenderSystem::registerThread
void registerThread()
Register the an additional thread which may make calls to rendersystem-related objects.
Ogre::D3D11RenderSystem::SecondaryWindowList
vector< D3D11RenderWindowBase * >::type SecondaryWindowList
Definition: OgreD3D11RenderSystem.h:201
Ogre::D3D11RenderSystem::_createRenderWindow
RenderWindow * _createRenderWindow(const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams=0)
Creates a new rendering window.
Ogre::ColourValue::White
static const ColourValue White
Definition: OgreColourValue.h:62
Ogre::D3D11RenderSystem::mBoundRasterizer
ID3D11RasterizerState * mBoundRasterizer
Definition: OgreD3D11RenderSystem.h:152
Ogre::Frustum
A frustum represents a pyramid, capped at the near and far end which is used to represent either a vi...
Definition: OgreFrustum.h:85
Ogre::D3D11RenderSystem::reinitialise
void reinitialise()
Restart the renderer (normally following a change in settings).
Ogre::D3D11RenderSystem::mBoundVertexProgram
D3D11HLSLProgram * mBoundVertexProgram
Definition: OgreD3D11RenderSystem.h:144
Ogre::D3D11RenderSystem::setShadingType
void setShadingType(ShadeOptions so)
Sets the type of light shading required (default = Gouraud).
Ogre::D3D11RenderSystem::mMaxRequestedFeatureLevel
D3D_FEATURE_LEVEL mMaxRequestedFeatureLevel
Definition: OgreD3D11RenderSystem.h:62
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::autoTexCoordType
TexCoordCalcMethod autoTexCoordType
type of auto tex. calc. used
Definition: OgreD3D11RenderSystem.h:180
Ogre::D3D11RenderSystem::_endFrame
void _endFrame(void)
Ends rendering of a frame to the current viewport.
Ogre::SharedPtr< Texture >
Ogre::D3D11RenderSystem::_makeOrthoMatrix
void _makeOrthoMatrix(const Radian &fovy, Real aspect, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)
Builds an orthographic projection matrix suitable for this render system.
Ogre::D3D11RenderSystem::_setTextureBorderColour
void _setTextureBorderColour(size_t stage, const ColourValue &colour)
Sets the texture border colour for a texture unit.
Ogre::D3D11RenderSystem::_setPointSpritesEnabled
void _setPointSpritesEnabled(bool enabled)
Sets whether or not rendering points using OT_POINT_LIST will render point sprites (textured quads) o...
Ogre::D3D11RenderSystem::endProfileEvent
virtual void endProfileEvent(void)
Ends the currently active GPU profiling event.
Ogre::D3D11RenderSystem::ClassInstanceIterator
std::map< String, ID3D11ClassInstance * >::iterator ClassInstanceIterator
Definition: OgreD3D11RenderSystem.h:168
Ogre::D3D11RenderSystem::mActiveD3DDriver
D3D11Driver * mActiveD3DDriver
Currently active driver.
Definition: OgreD3D11RenderSystem.h:77
Ogre::D3D11RenderSystem::mBoundTextures
ID3D11ShaderResourceView * mBoundTextures[OGRE_MAX_TEXTURE_LAYERS]
Definition: OgreD3D11RenderSystem.h:157
Ogre::FOG_NONE
@ FOG_NONE
No fog. Duh.
Definition: OgreCommon.h:124
Ogre::D3D11RenderSystem::getMaximumDepthInputValue
Real getMaximumDepthInputValue(void)
Gets the maximum (farthest) depth value to be used when rendering using identity transforms.
Ogre::D3D11RenderSystem::_setWorldMatrix
void _setWorldMatrix(const Matrix4 &m)
Sets the world transform matrix.
Ogre::D3D11RenderSystem::_addManualDepthBuffer
DepthBuffer * _addManualDepthBuffer(ID3D11DepthStencilView *depthSurface, uint32 width, uint32 height, uint32 fsaa, uint32 fsaaQuality)
This function is meant to add Depth Buffers to the pool that aren't released when the DepthBuffer is ...
Ogre::D3D11RenderSystem::mSceneAlphaToCoverage
bool mSceneAlphaToCoverage
Definition: OgreD3D11RenderSystem.h:125
Ogre::D3D11GpuProgramManager
Definition: OgreD3D11GpuProgramManager.h:37
OGRE_MAX_TEXTURE_LAYERS
#define OGRE_MAX_TEXTURE_LAYERS
Define max number of texture layers allowed per pass on any card.
Definition: OgreConfig.h:72
Ogre::D3D11RenderSystem::convertComputeShaderCaps
void convertComputeShaderCaps(RenderSystemCapabilities *rsc) const
Ogre::D3D11RenderSystem::getErrorDescription
virtual String getErrorDescription(long errorNumber) const
Returns a description of an error code.
Ogre::D3D11RenderSystem::_checkTextureFilteringSupported
bool _checkTextureFilteringSupported(TextureType ttype, PixelFormat format, int usage)
Check whether or not filtering is supported for the precise texture format requested with the given u...
Ogre::ColourValue
Class representing colour.
Definition: OgreColourValue.h:57
Ogre::D3D11RenderSystem::mDepthStencilDesc
D3D11_DEPTH_STENCIL_DESC mDepthStencilDesc
Definition: OgreD3D11RenderSystem.h:132
Ogre::D3D11RenderSystem::_setTextureUnitCompareEnabled
void _setTextureUnitCompareEnabled(size_t unit, bool compare)
Sets whether the compare func is enabled or not for this texture unit.
Ogre::uint
unsigned int uint
Definition: OgrePrerequisites.h:114
Ogre::D3D11RenderSystem::getCustomAttribute
void getCustomAttribute(const String &name, void *pData)
Gets a custom (maybe platform-specific) attribute.
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::used
bool used
Definition: OgreD3D11RenderSystem.h:191
Ogre::D3D11RenderSystem::_setDepthBufferWriteEnabled
void _setDepthBufferWriteEnabled(bool enabled=true)
Sets whether or not the depth buffer is updated after a pixel write.
Ogre::D3D11RenderSystem::_setDepthBufferParams
void _setDepthBufferParams(bool depthTest=true, bool depthWrite=true, CompareFunction depthFunction=CMPF_LESS_EQUAL)
Sets the mode of operation for depth buffer tests from this point onwards.
Ogre::D3D11RenderSystem::_getBoundComputeProgram
D3D11HLSLProgram * _getBoundComputeProgram() const
Ogre::D3D11RenderSystem::_setTextureBlendMode
void _setTextureBlendMode(size_t unit, const LayerBlendModeEx &bm)
Sets the texture blend modes from a TextureUnitState record.
Ogre::D3D11RenderSystem::_initialise
RenderWindow * _initialise(bool autoCreateWindow, const String &windowTitle="OGRE Render Window")
Start up the renderer using the settings selected (Or the defaults if none have been selected).
Ogre::D3D11RenderSystem::mGpuProgramManager
D3D11GpuProgramManager * mGpuProgramManager
Definition: OgreD3D11RenderSystem.h:103
Ogre::D3D11RenderSystem::mOptions
ConfigOptionMap mOptions
Definition: OgreD3D11RenderSystem.h:69
Ogre::D3D11RenderSystem::mBasicStatesInitialised
bool mBasicStatesInitialised
Definition: OgreD3D11RenderSystem.h:205
Ogre::D3D11RenderSystem::createMultiRenderTarget
virtual MultiRenderTarget * createMultiRenderTarget(const String &name)
Create a MultiRenderTarget, which is a render target that renders to multiple RenderTextures at once.
Ogre::D3D11RenderSystem::_getFeatureLevel
D3D_FEATURE_LEVEL _getFeatureLevel() const
Definition: OgreD3D11RenderSystem.h:399
Ogre::D3D11RenderSystem::_setDepthBufferCheckEnabled
void _setDepthBufferCheckEnabled(bool enabled=true)
Sets whether or not the depth buffer check is performed before a pixel write.
Ogre::D3D11RenderSystem::initConfigOptions
virtual void initConfigOptions(void)
Ogre::ColourValue::Black
static const ColourValue Black
Definition: OgreColourValue.h:61
Ogre::RenderTexture
This class represents a RenderTarget that renders to a Texture.
Definition: OgreRenderTexture.h:48
Ogre::D3D11Driver
Definition: OgreD3D11Driver.h:39
Ogre::ShadeOptions
ShadeOptions
Light shading modes.
Definition: OgreCommon.h:113
Ogre::D3D11RenderSystem::getName
const String & getName(void) const
Returns the name of the rendering system.
Ogre::D3D11RenderSystem::mDevice
D3D11Device mDevice
Direct3D.
Definition: OgreD3D11RenderSystem.h:66
Ogre::D3D11RenderSystem::FilterMips
FilterOptions FilterMips[OGRE_MAX_TEXTURE_LAYERS]
Definition: OgreD3D11RenderSystem.h:138
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::frustum
const Frustum * frustum
Frustum, used if the above is projection.
Definition: OgreD3D11RenderSystem.h:182
Ogre::TextureUnitState::UVWAddressingMode
Texture addressing mode for each texture coordinate.
Definition: OgreTextureUnitState.h:141
Ogre::D3D11RenderSystem::_setTextureUnitFiltering
void _setTextureUnitFiltering(size_t unit, FilterType ftype, FilterOptions filter)
Sets a single filter for a given texture unit.
Ogre::D3D11RenderSystem::setSubroutine
void setSubroutine(GpuProgramType gptype, unsigned int slotIndex, const String &subroutineName)
Ogre::D3D11RenderSystem::setVertexBufferBinding
void setVertexBufferBinding(VertexBufferBinding *binding)
Sets the current vertex buffer binding state.
OgreD3D11Device.h
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::D3D11HardwareBufferManager
D3D11HardwareBufferManagerBase as a Singleton.
Definition: OgreD3D11HardwareBufferManager.h:84
Ogre::TextureType
TextureType
Enum identifying the texture type.
Definition: OgreTexture.h:67
Ogre::D3D11RenderSystem
Implementation of DirectX11 as a rendering system.
Definition: OgreD3D11RenderSystem.h:46
Ogre::D3D11RenderSystem::mRasterizerDesc
D3D11_RASTERIZER_DESC mRasterizerDesc
Definition: OgreD3D11RenderSystem.h:129
Ogre::D3D11RenderSystem::bindGpuProgram
void bindGpuProgram(GpuProgram *prg)
See RenderSystem.
Ogre::D3D11RenderSystem::beginProfileEvent
virtual void beginProfileEvent(const String &eventName)
This marks the beginning of an event for GPU profiling.
Ogre::D3D11RenderSystem::_getBoundVertexProgram
D3D11HLSLProgram * _getBoundVertexProgram() const
OgreD3D11Mappings.h
Ogre::D3D11RenderSystem::_setSceneBlending
void _setSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor, SceneBlendOperation op=SBO_ADD)
Sets the global blending factors for combining subsequent renders with the existing frame contents.
Ogre::D3D11RenderSystem::createHardwareOcclusionQuery
HardwareOcclusionQuery * createHardwareOcclusionQuery(void)
Create an object for performing hardware occlusion queries.
Ogre::D3D11RenderSystem::mRenderSystemWasInited
bool mRenderSystemWasInited
Definition: OgreD3D11RenderSystem.h:207
Ogre::D3D11RenderSystem::mSceneAlphaRejectValue
unsigned char mSceneAlphaRejectValue
Definition: OgreD3D11RenderSystem.h:124
Ogre::vector
Definition: OgrePrerequisites.h:491
Ogre::TexCoordCalcMethod
TexCoordCalcMethod
Enum describing the ways to generate texture coordinates.
Definition: OgreRenderSystem.h:67
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::layerBlendMode
LayerBlendModeEx layerBlendMode
Definition: OgreD3D11RenderSystem.h:184
Ogre::D3D11RenderSystem::_beginFrame
void _beginFrame(void)
Signifies the beginning of a frame, i.e.
Ogre::D3D11RenderSystem::_setPointParameters
void _setPointParameters(Real size, bool attenuationEnabled, Real constant, Real linear, Real quadratic, Real minSize, Real maxSize)
Sets the size of points and how they are attenuated with distance.
Ogre::D3D11RenderSystem::_setTexture
void _setTexture(size_t unit, bool enabled, const TexturePtr &texPtr)
Sets the texture to bind to a given texture unit.
Ogre::D3D11RenderSystem::DT_HARDWARE
@ DT_HARDWARE
Definition: OgreD3D11RenderSystem.h:53
Ogre::D3D11RenderSystem::createRenderTexture
RenderTexture * createRenderTexture(const String &name, unsigned int width, unsigned int height, TextureType texType=TEX_TYPE_2D, PixelFormat internalFormat=PF_X8R8G8B8, const NameValuePairList *miscParams=0)
Ogre::PF_X8R8G8B8
@ PF_X8R8G8B8
32-bit pixel format, 8 bits for red, 8 bits for green, 8 bits for blue like PF_A8R8G8B8,...
Definition: OgrePixelFormat.h:84
Ogre::D3D11RenderSystem::_setRenderTarget
void _setRenderTarget(RenderTarget *target)
Set current render target to target, enabling its GL context if needed.
Ogre::TEX_TYPE_2D
@ TEX_TYPE_2D
2D texture, used in combination with 2D texture coordinates (default)
Definition: OgreTexture.h:72
Ogre::D3D11RenderSystem::_setTextureMatrix
void _setTextureMatrix(size_t unit, const Matrix4 &xform)
Sets the texture coordinate transformation matrix for a texture unit.
Ogre::D3D11RenderSystem::mPolygonMode
PolygonMode mPolygonMode
Definition: OgreD3D11RenderSystem.h:134
Ogre::D3D11RenderSystem::mHardwareBufferManager
D3D11HardwareBufferManager * mHardwareBufferManager
Definition: OgreD3D11RenderSystem.h:102
Ogre::D3D11RenderSystem::mSceneAlphaRejectFunc
CompareFunction mSceneAlphaRejectFunc
Definition: OgreD3D11RenderSystem.h:123
Ogre::FilterType
FilterType
Definition: OgreCommon.h:90
Ogre::D3D11RenderSystem::_setSurfaceParams
void _setSurfaceParams(const ColourValue &ambient, const ColourValue &diffuse, const ColourValue &specular, const ColourValue &emissive, Real shininess, TrackVertexColourType tracking)
Sets the surface properties to be used for future rendering.
Ogre::PlaneList
vector< Plane >::type PlaneList
Definition: OgrePlane.h:160
Ogre::PolygonMode
PolygonMode
The polygon mode to use when rasterising.
Definition: OgreCommon.h:179
Ogre::D3D11RenderSystem::mUseNVPerfHUD
bool mUseNVPerfHUD
NVPerfHUD allowed?
Definition: OgreD3D11RenderSystem.h:79
Ogre::D3D11RenderSystem::_setTextureUnitCompareFunction
void _setTextureUnitCompareFunction(size_t unit, CompareFunction function)
Sets the compare function to use for a given texture unit.
Ogre::D3D11RenderSystem::_getDepthBufferCheckEnabled
bool _getDepthBufferCheckEnabled(void)
Ogre::RenderOperation
'New' rendering operation using vertex buffers.
Definition: OgreRenderOperation.h:45
Ogre::D3D11RenderSystem::unregisterThread
void unregisterThread()
Unregister an additional thread which may make calls to rendersystem-related objects.
Ogre::D3D11RenderSystem::_setTextureMipmapBias
void _setTextureMipmapBias(size_t unit, float bias)
Sets the mipmap bias value for a given texture unit.
Ogre::D3D11RenderSystem::sD3DTextureStageDesc::coordIndex
size_t coordIndex
which texCoordIndex to use
Definition: OgreD3D11RenderSystem.h:178
Ogre::D3D11RenderSystem::_setDepthBias
void _setDepthBias(float constantBias, float slopeScaleBias)
Sets the depth bias, NB you should use the Material version of this.
Ogre::D3D11RenderSystem::mBoundDepthStencilState
ID3D11DepthStencilState * mBoundDepthStencilState
Definition: OgreD3D11RenderSystem.h:153
Ogre::D3D11RenderSystem::setNormaliseNormals
void setNormaliseNormals(bool normalise)
Sets whether or not normals are to be automatically normalised.
Ogre::SceneBlendOperation
SceneBlendOperation
Blending operations controls how objects are blended into the scene.
Definition: OgreBlendMode.h:253
Ogre::D3D11RenderSystem::enableClipPlane
void enableClipPlane(ushort index, bool enable)
Ogre::D3D11RenderSystem::_makeProjectionMatrix
void _makeProjectionMatrix(const Radian &fovy, Real aspect, Real nearPlane, Real farPlane, Matrix4 &dest, bool forGpuProgram=false)
Builds a perspective projection matrix suitable for this render system.
Ogre::D3D11RenderSystem::mBoundFragmentProgram
D3D11HLSLProgram * mBoundFragmentProgram
Definition: OgreD3D11RenderSystem.h:145
Ogre::D3D11RenderSystem::mPrimaryWindow
D3D11RenderWindowBase * mPrimaryWindow
Primary window, the one used to create the device.
Definition: OgreD3D11RenderSystem.h:199
OgreRenderSystem.h

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15