BsRenderableProxy.h 672 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. RenderableType renderableType;
  29. };
  30. typedef std::shared_ptr<RenderableProxy> RenderableProxyPtr;
  31. }