BsRenderableProxy.h 639 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsMaterialProxy.h"
  4. #include "BsMeshProxy.h"
  5. #include "BsBounds.h"
  6. #include "BsMatrix4.h"
  7. namespace BansheeEngine
  8. {
  9. // TODO UNDOCUMENTED
  10. class BS_CORE_EXPORT RenderableElement
  11. {
  12. public:
  13. RenderableElement();
  14. Bounds calculateWorldBounds();
  15. UINT32 id;
  16. Matrix4 worldTransform;
  17. MeshProxyPtr mesh;
  18. MaterialProxyPtr material;
  19. UINT64 layer;
  20. private:
  21. bool mBoundsDirty;
  22. };
  23. class BS_CORE_EXPORT RenderableProxy
  24. {
  25. public:
  26. ~RenderableProxy();
  27. Vector<RenderableElement*> renderableElements;
  28. };
  29. typedef std::shared_ptr<RenderableProxy> RenderableProxyPtr;
  30. }