|
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 |