CmRenderQueue.cpp 781 B

1234567891011121314151617181920212223242526272829303132
  1. #include "CmRenderQueue.h"
  2. #include "CmRenderOperation.h"
  3. namespace CamelotFramework
  4. {
  5. RenderQueue::RenderQueue()
  6. {
  7. }
  8. void RenderQueue::clear()
  9. {
  10. mRenderOperations.clear();
  11. mSortedRenderOps.clear();
  12. }
  13. void RenderQueue::add(const HMaterial& material, const RenderOpMesh& 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.meshData = mesh;
  20. renderOp.worldPosition = worldPosForSort;
  21. }
  22. const Vector<SortedRenderOp>::type& RenderQueue::getSortedRenderOps() const
  23. {
  24. return mSortedRenderOps;
  25. }
  26. }