BsRenderQueue.cpp 732 B

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