BsRenderQueue.cpp 785 B

123456789101112131415161718192021222324252627282930313233
  1. #include "BsRenderQueue.h"
  2. #include "BsRenderOperation.h"
  3. #include "BsMeshRenderData.h"
  4. namespace BansheeEngine
  5. {
  6. RenderQueue::RenderQueue()
  7. {
  8. }
  9. void RenderQueue::clear()
  10. {
  11. mRenderOperations.clear();
  12. mSortedRenderOps.clear();
  13. }
  14. void RenderQueue::add(const Material::CoreProxyPtr& material, const MeshRenderDataPtr& mesh, const Vector3& worldPosForSort)
  15. {
  16. // TODO - Make sure RenderOperations are cached so we dont allocate memory for them every frame
  17. mRenderOperations.push_back(RenderOperation());
  18. RenderOperation& renderOp = mRenderOperations.back();
  19. renderOp.material = material;
  20. renderOp.mesh = mesh;
  21. renderOp.worldPosition = worldPosForSort;
  22. }
  23. const Vector<SortedRenderOp>& RenderQueue::getSortedRenderOps() const
  24. {
  25. return mSortedRenderOps;
  26. }
  27. }