BsRasterizerState.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "BsRasterizerState.h"
  2. #include "BsRenderStateManager.h"
  3. #include "BsRenderSystem.h"
  4. #include "BsRasterizerStateRTTI.h"
  5. #include "BsResources.h"
  6. namespace BansheeEngine
  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. }