| 1234567891011121314151617181920212223242526 |
- #include "BsDefaultRenderQueue.h"
- #include "BsRenderOperation.h"
- #include "BsMaterial.h"
- namespace BansheeEngine
- {
- void DefaultRenderQueue::sort()
- {
- // Just pass-through for now
- for(auto& renderOp : mRenderOperations)
- {
- UINT32 numPasses = (UINT32)renderOp.material.passes.size();
- for(UINT32 i = 0; i < numPasses; i++)
- {
- mSortedRenderOps.push_back(SortedRenderOp());
- SortedRenderOp& sortedOp = mSortedRenderOps.back();
- sortedOp.baseOperation = &renderOp;
- sortedOp.passIdx = i;
- }
- }
- // TODO - Actually do some sorting. Use material options to sort (isTransparent, isOverlay(need to add this), etc.)
- // Note: When sorting make sure not to change order of unsorted elements. Some outside managers (like overlay and GUI) will provide render ops which are already sorted
- }
- }
|