33#ifndef DVD_RENDER_QUEUE_H_
34#define DVD_RENDER_QUEUE_H_
43struct RenderSubPassCmd;
Kernel & parent() noexcept
The kernel is the main system that connects all of our various systems: windows, gfx,...
This class contains a list of "RenderBinItem"'s and stores them sorted depending on designation.
std::array< SortedQueue, to_base(RenderBinType::COUNT)> SortedQueues
This class manages all of the RenderBins and renders them in the correct order.
RenderingOrder getSortOrder(RenderStagePass stagePass, RenderBinType rbType) const
RenderBinArray _renderBins
RenderBinType getBinForNode(const SceneGraphNode *node, Handle< Material > matInstance)
void populateRenderQueues(const PopulateQueueParams ¶ms, RenderQueuePackages &queueInOut)
void clear(RenderBinType targetBinType=RenderBinType::COUNT) noexcept
const RenderBin & getBin(const RenderBinType rbType) const noexcept
void sort(RenderStagePass stagePass, RenderBinType targetBinType=RenderBinType::COUNT, RenderingOrder renderOrder=RenderingOrder::COUNT)
RenderBinArray & getBins() noexcept
FORCE_INLINE RenderBin & getBin(const RenderBinType rbType) noexcept
void postRender(const SceneRenderState &renderState, RenderStagePass stagePass, GFX::CommandBuffer &bufferInOut)
std::array< RenderBin, to_base(RenderBinType::COUNT)> RenderBinArray
size_t getSortedQueues(const vector< RenderBinType > &binTypes, RenderBin::SortedQueues &queuesOut) const
void addNodeToQueue(const SceneGraphNode *sgn, RenderStagePass stagePass, F32 minDistToCameraSq, RenderBinType targetBinType=RenderBinType::COUNT)
Handle console commands that start with a forward slash.
eastl::fixed_vector< RenderQueuePackage, Config::MAX_VISIBLE_NODES, false > RenderQueuePackages
eastl::vector< Type > vector
constexpr auto to_base(const Type value) -> Type
RenderStagePass _stagePass