Urho3D::BatchQueue Struct Reference

Queue that contains both instanced and non-instanced draw calls. More...

#include <Batch.h>

Collaboration diagram for Urho3D::BatchQueue:
[legend]

Public Member Functions

void Clear (int maxSortedInstances)
 Clear for new frame by clearing all groups and batches.
 
void SortBackToFront ()
 Sort non-instanced draw calls back to front.
 
void SortFrontToBack ()
 Sort instanced and non-instanced draw calls front to back.
 
void SortFrontToBack2Pass (PODVector< Batch * > &batches)
 Sort batches front to back while also maintaining state sorting.
 
void SetTransforms (void *lockedData, unsigned &freeIndex)
 Pre-set instance transforms of all groups. The vertex buffer must be big enough to hold all transforms.
 
void Draw (View *view, bool markToStencil, bool usingLightOptimization, bool allowDepthWrite) const
 Draw.
 
unsigned GetNumInstances () const
 Return the combined amount of instances.
 
bool IsEmpty () const
 Return whether the batch group is empty.
 

Public Attributes

HashMap< BatchGroupKey,
BatchGroup
batchGroups_
 Instanced draw calls.
 
HashMap< unsigned, unsigned > shaderRemapping_
 Shader remapping table for 2-pass state and distance sort.
 
HashMap< unsigned short,
unsigned short > 
materialRemapping_
 Material remapping table for 2-pass state and distance sort.
 
HashMap< unsigned short,
unsigned short > 
geometryRemapping_
 Geometry remapping table for 2-pass state and distance sort.
 
PODVector< Batchbatches_
 Unsorted non-instanced draw calls.
 
PODVector< Batch * > sortedBatches_
 Sorted non-instanced draw calls.
 
PODVector< BatchGroup * > sortedBatchGroups_
 Sorted instanced draw calls.
 
unsigned maxSortedInstances_
 Maximum sorted instances.
 

Detailed Description

Queue that contains both instanced and non-instanced draw calls.


The documentation for this struct was generated from the following files:
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/Batch.h
  • /home/travis/build/urho3d/Urho3D/Source/Urho3D/Graphics/Batch.cpp