![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
This class contains a list of "RenderBinItem"'s and stores them sorted depending on designation. More...
#include <RenderBin.h>
Public Types | |
using | RenderBinStack = eastl::array< RenderBinItem, Config::MAX_VISIBLE_NODES > |
using | SortedQueue = eastl::fixed_vector< RenderingComponent *, Config::MAX_VISIBLE_NODES, false > |
using | SortedQueues = std::array< SortedQueue, to_base(RenderBinType::COUNT)> |
Public Member Functions | |
RenderBin ()=default | |
void | sort (RenderBinType type, RenderingOrder renderOrder) |
void | populateRenderQueue (RenderStagePass stagePass, RenderQueuePackages &queueInOut) const |
void | postRender (const SceneRenderState &renderState, RenderStagePass stagePass, GFX::CommandBuffer &bufferInOut) |
void | addNodeToBin (const SceneGraphNode *sgn, RenderStagePass renderStagePass, F32 minDistToCameraSq) |
void | clear () noexcept |
U16 | getSortedNodes (SortedQueue &nodes) const |
U16 | getBinSize () const noexcept |
const RenderBinItem & | getItem (const U16 index) const |
bool | empty () const noexcept |
Private Attributes | |
std::atomic_ushort | _renderBinIndex |
RenderBinStack | _renderBinStack |
This class contains a list of "RenderBinItem"'s and stores them sorted depending on designation.
Definition at line 112 of file RenderBin.h.
using Divide::RenderBin::RenderBinStack = eastl::array<RenderBinItem, Config::MAX_VISIBLE_NODES> |
Definition at line 114 of file RenderBin.h.
using Divide::RenderBin::SortedQueue = eastl::fixed_vector<RenderingComponent*, Config::MAX_VISIBLE_NODES, false> |
Definition at line 115 of file RenderBin.h.
using Divide::RenderBin::SortedQueues = std::array<SortedQueue, to_base(RenderBinType::COUNT)> |
Definition at line 116 of file RenderBin.h.
|
default |
void Divide::RenderBin::addNodeToBin | ( | const SceneGraphNode * | sgn, |
RenderStagePass | renderStagePass, | ||
F32 | minDistToCameraSq | ||
) |
Definition at line 123 of file RenderBin.cpp.
|
noexcept |
Definition at line 92 of file RenderBin.cpp.
|
inlinenoexcept |
Definition at line 131 of file RenderBin.h.
|
noexcept |
Definition at line 103 of file RenderBin.cpp.
const RenderBinItem & Divide::RenderBin::getItem | ( | const U16 | index | ) | const |
Definition at line 97 of file RenderBin.cpp.
U16 Divide::RenderBin::getSortedNodes | ( | SortedQueue & | nodes | ) | const |
Definition at line 108 of file RenderBin.cpp.
void Divide::RenderBin::populateRenderQueue | ( | RenderStagePass | stagePass, |
RenderQueuePackages & | queueInOut | ||
) | const |
Definition at line 140 of file RenderBin.cpp.
void Divide::RenderBin::postRender | ( | const SceneRenderState & | renderState, |
RenderStagePass | stagePass, | ||
GFX::CommandBuffer & | bufferInOut | ||
) |
Definition at line 155 of file RenderBin.cpp.
void Divide::RenderBin::sort | ( | RenderBinType | type, |
RenderingOrder | renderOrder | ||
) |
Definition at line 16 of file RenderBin.cpp.
|
private |
Definition at line 134 of file RenderBin.h.
|
private |
Definition at line 135 of file RenderBin.h.