CmRasterizerState.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "CmRasterizerState.h"
  2. #include "CmRenderStateManager.h"
  3. #include "CmRenderSystem.h"
  4. #include "CmRasterizerStateRTTI.h"
  5. #include "CmResources.h"
  6. namespace CamelotFramework
  7. {
  8. void RasterizerState::initialize(const RASTERIZER_STATE_DESC& desc)
  9. {
  10. mData = desc;
  11. Resource::initialize();
  12. }
  13. const RasterizerStatePtr& RasterizerState::getDefault()
  14. {
  15. return RenderStateManager::instance().getDefaultRasterizerState();
  16. }
  17. HRasterizerState RasterizerState::create(const RASTERIZER_STATE_DESC& desc)
  18. {
  19. RasterizerStatePtr rasterizerPtr = RenderStateManager::instance().createRasterizerState(desc);
  20. return static_resource_cast<RasterizerState>(gResources().createResourceHandle(rasterizerPtr));
  21. }
  22. /************************************************************************/
  23. /* RTTI */
  24. /************************************************************************/
  25. RTTITypeBase* RasterizerState::getRTTIStatic()
  26. {
  27. return RasterizerStateRTTI::instance();
  28. }
  29. RTTITypeBase* RasterizerState::getRTTI() const
  30. {
  31. return RasterizerState::getRTTIStatic();
  32. }
  33. }