CmD3D11RenderUtility.h 930 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "CmD3D11Prerequisites.h"
  3. #include "CmModule.h"
  4. namespace CamelotFramework
  5. {
  6. class D3D11RenderUtility : public Module<D3D11RenderUtility>
  7. {
  8. public:
  9. D3D11RenderUtility(D3D11Device* device);
  10. ~D3D11RenderUtility();
  11. void drawClearQuad(UINT32 clearBuffers, const Color& color, float depth, UINT16 stencil);
  12. protected:
  13. D3D11Device* mDevice;
  14. void initClearQuadResources();
  15. ID3D11Buffer* mClearQuadIB;
  16. ID3D11Buffer* mClearQuadVB;
  17. ID3D11InputLayout* mClearQuadIL;
  18. ID3D11VertexShader* mClearQuadVS;
  19. ID3D11PixelShader* mClearQuadPS;
  20. HBlendState mClearQuadBlendStateYesC;
  21. HBlendState mClearQuadBlendStateNoC;
  22. HRasterizerState mClearQuadRasterizerState;
  23. HDepthStencilState mClearQuadDSStateNoD_NoS;
  24. HDepthStencilState mClearQuadDSStateYesD_NoS;
  25. HDepthStencilState mClearQuadDSStateYesD_YesS;
  26. HDepthStencilState mClearQuadDSStateNoD_YesS;
  27. };
  28. }