#include "CmRenderQueue.h" #include "CmRenderOperation.h" namespace CamelotFramework { RenderQueue::RenderQueue() { } void RenderQueue::clear() { mRenderOperations.clear(); mSortedRenderOps.clear(); } void RenderQueue::add(const HMaterial& material, const HMesh& mesh, UINT32 submeshIdx, const Vector3& worldPosForSort) { // TODO - Make sure RenderOperations are cached so we dont allocate memory for them every frame mRenderOperations.push_back(RenderOperation()); RenderOperation& renderOp = mRenderOperations.back(); renderOp.material = material; renderOp.mesh = mesh; renderOp.worldPosition = worldPosForSort; renderOp.submeshIdx = submeshIdx; } const Vector::type& RenderQueue::getSortedRenderOps() const { return mSortedRenderOps; } }