DirectZ
|
Template draw list manager for producing draw commands from a struct buffer. More...
#include <DrawListManager.hpp>
Public Types | |
using | Determine_DrawT_DrawTuples_Function = std::function<DrawTuples(BufferGroup*, DrawT&)> |
using | Determine_CameraTuple_Function = std::function<CameraTuple(BufferGroup*, int)> |
using | Determine_VisibleDraws_Function = std::function<std::vector<int>(BufferGroup*, int camera_index)> |
Public Member Functions | |
DrawListManager (const std::string &draw_key, const Determine_DrawT_DrawTuples_Function &fn_determine_DrawT_DrawTuples, const std::string &camera_key="", const Determine_CameraTuple_Function &fn_determine_CameraTuple={}, const Determine_VisibleDraws_Function &fn_get_visible_draws={}) | |
Constructs a DrawListManager with a draw key and logic function. | |
DrawInformation & | ensureDrawInformation (BufferGroup *buffer_group) override |
Ensures DrawInformation. | |
void | SetDirty () |
Public Member Functions inherited from dz::IDrawListManager | |
virtual | ~IDrawListManager ()=default |
Template draw list manager for producing draw commands from a struct buffer.
DrawT | Struct type used for draw data. |
using dz::DrawListManager< DrawT >::Determine_CameraTuple_Function = std::function<CameraTuple(BufferGroup*, int)> |
using dz::DrawListManager< DrawT >::Determine_DrawT_DrawTuples_Function = std::function<DrawTuples(BufferGroup*, DrawT&)> |
using dz::DrawListManager< DrawT >::Determine_VisibleDraws_Function = std::function<std::vector<int>(BufferGroup*, int camera_index)> |
|
inline |
Constructs a DrawListManager with a draw key and logic function.
draw_key | Buffer key to iterate over. |
fn_determine_DrawT_DrawTuples | Function that maps a DrawT instance to shader and vertex count. |
|
inlineoverridevirtual |
Ensures DrawInformation.
buffer_group | Pointer to a BufferGroup. |
Implements dz::IDrawListManager.
|
inline |