CmRenderStateManager.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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->setThisPtr(samplerState);
  12. samplerState->initialize(desc);
  13. return samplerState;
  14. }
  15. DepthStencilStatePtr RenderStateManager::createDepthStencilState(const DEPTH_STENCIL_STATE_DESC& desc) const
  16. {
  17. DepthStencilStatePtr depthStencilState = DepthStencilStatePtr(new DepthStencilState());
  18. depthStencilState->setThisPtr(depthStencilState);
  19. depthStencilState->initialize(desc);
  20. return depthStencilState;
  21. }
  22. RasterizerStatePtr RenderStateManager::createRasterizerState(const RASTERIZER_STATE_DESC& desc) const
  23. {
  24. RasterizerStatePtr rasterizerState = RasterizerStatePtr(new RasterizerState());
  25. rasterizerState->setThisPtr(rasterizerState);
  26. rasterizerState->initialize(desc);
  27. return rasterizerState;
  28. }
  29. BlendStatePtr RenderStateManager::createBlendState(const BLEND_STATE_DESC& desc) const
  30. {
  31. BlendStatePtr blendState = BlendStatePtr(new BlendState());
  32. blendState->setThisPtr(blendState);
  33. blendState->initialize(desc);
  34. return blendState;
  35. }
  36. SamplerStatePtr RenderStateManager::createEmptySamplerState() const
  37. {
  38. SamplerStatePtr samplerState = SamplerStatePtr(new SamplerState());
  39. samplerState->setThisPtr(samplerState);
  40. return samplerState;
  41. }
  42. DepthStencilStatePtr RenderStateManager::createEmptyDepthStencilState() const
  43. {
  44. DepthStencilStatePtr depthStencilState = DepthStencilStatePtr(new DepthStencilState());
  45. depthStencilState->setThisPtr(depthStencilState);
  46. return depthStencilState;
  47. }
  48. RasterizerStatePtr RenderStateManager::createEmptyRasterizerState() const
  49. {
  50. RasterizerStatePtr rasterizerState = RasterizerStatePtr(new RasterizerState());
  51. rasterizerState->setThisPtr(rasterizerState);
  52. return rasterizerState;
  53. }
  54. BlendStatePtr RenderStateManager::createEmptyBlendState() const
  55. {
  56. BlendStatePtr blendState = BlendStatePtr(new BlendState());
  57. blendState->setThisPtr(blendState);
  58. return blendState;
  59. }
  60. }