CmRenderStateManager.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include "CmRenderStateManager.h"
  2. #include "CmSamplerState.h"
  3. #include "CmDepthStencilState.h"
  4. #include "CmRasterizerState.h"
  5. #include "CmBlendState.h"
  6. namespace CamelotEngine
  7. {
  8. SamplerStatePtr RenderStateManager::createSamplerState(const SAMPLER_STATE_DESC& desc) const
  9. {
  10. SamplerStatePtr samplerState = SamplerStatePtr(new SamplerState());
  11. samplerState->initialize(desc);
  12. return samplerState;
  13. }
  14. DepthStencilStatePtr RenderStateManager::createDepthStencilState(const DEPTH_STENCIL_STATE_DESC& desc) const
  15. {
  16. DepthStencilStatePtr depthStencilState = DepthStencilStatePtr(new DepthStencilState());
  17. depthStencilState->initialize(desc);
  18. return depthStencilState;
  19. }
  20. RasterizerStatePtr RenderStateManager::createRasterizerState(const RASTERIZER_STATE_DESC& desc) const
  21. {
  22. RasterizerStatePtr rasterizerState = RasterizerStatePtr(new RasterizerState());
  23. rasterizerState->initialize(desc);
  24. return rasterizerState;
  25. }
  26. BlendStatePtr RenderStateManager::createBlendState(const BLEND_STATE_DESC& desc) const
  27. {
  28. BlendStatePtr blendState = BlendStatePtr(new BlendState());
  29. blendState->initialize(desc);
  30. return blendState;
  31. }
  32. SamplerStatePtr RenderStateManager::createEmptySamplerState() const
  33. {
  34. return SamplerStatePtr(new SamplerState());
  35. }
  36. DepthStencilStatePtr RenderStateManager::createEmptyDepthStencilState() const
  37. {
  38. return DepthStencilStatePtr(new DepthStencilState());
  39. }
  40. RasterizerStatePtr RenderStateManager::createEmptyRasterizerState() const
  41. {
  42. return RasterizerStatePtr(new RasterizerState());
  43. }
  44. BlendStatePtr RenderStateManager::createEmptyBlendState() const
  45. {
  46. return BlendStatePtr(new BlendState());
  47. }
  48. }