CmD3D11RenderSystem.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #pragma once
  2. #include "CmD3D11Prerequisites.h"
  3. #include "CmRenderSystem.h"
  4. namespace CamelotEngine
  5. {
  6. class CM_D3D11_EXPORT D3D11RenderSystem : public RenderSystem
  7. {
  8. public:
  9. static D3D11Device& getPrimaryDevice();
  10. void determineFSAASettings(UINT32 fsaa, const String& fsaaHint, DXGI_FORMAT format, DXGI_SAMPLE_DESC* outFSAASettings);
  11. bool checkTextureFilteringSupported(TextureType ttype, PixelFormat format, int usage);
  12. virtual const String& getName() const;
  13. virtual void setSamplerState(UINT16 texUnit, const SamplerState& samplerState);
  14. virtual void setBlendState(const BlendState& blendState);
  15. virtual void setRasterizerState(const RasterizerState& rasterizerState);
  16. virtual void setDepthStencilState(const DepthStencilState& depthStencilState);
  17. virtual void setTexture(UINT16 unit, bool enabled, const TexturePtr &texPtr );
  18. virtual void setStencilRefValue(UINT32 refValue);
  19. virtual void beginFrame();
  20. virtual void endFrame();
  21. virtual void clearFrameBuffer(unsigned int buffers, const Color& color = Color::Black, float depth = 1.0f, unsigned short stencil = 0);
  22. virtual void setRenderTarget(RenderTarget* target);
  23. virtual void setViewport(const Viewport& vp);
  24. virtual void setScissorRect(UINT32 left = 0, UINT32 top = 0, UINT32 right = 800, UINT32 bottom = 600);
  25. virtual void setVertexDeclaration(VertexDeclarationPtr decl);
  26. virtual void setVertexBufferBinding(VertexBufferBinding* binding);
  27. virtual void bindGpuProgramParameters(GpuProgramType gptype, GpuProgramParametersSharedPtr params, UINT16 variabilityMask);
  28. virtual void setClipPlanesImpl(const PlaneList& clipPlanes);
  29. virtual RenderSystemCapabilities* createRenderSystemCapabilities() const;
  30. virtual void initialiseFromRenderSystemCapabilities(RenderSystemCapabilities* caps);
  31. virtual String getErrorDescription(long errorNumber) const;
  32. virtual void convertProjectionMatrix(const Matrix4& matrix, Matrix4& dest, bool forGpuProgram = false);
  33. virtual VertexElementType getColorVertexElementType() const;
  34. virtual float getHorizontalTexelOffset();
  35. virtual float getVerticalTexelOffset();
  36. virtual float getMinimumDepthInputValue();
  37. virtual float getMaximumDepthInputValue();
  38. protected:
  39. private:
  40. };
  41. }