Urho3D::BatchQueue Struct Reference

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

#include <Urho3D/Graphics/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 SetInstancingData (void *lockedData, unsigned stride, unsigned &freeIndex)
 Pre-set instance data of all groups. The vertex buffer must be big enough to hold all data.
 
void Draw (View *view, Camera *camera, 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, BatchGroupbatchGroups_
 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.
 
bool hasExtraDefines_
 Whether the pass command contains extra shader defines.
 
String vsExtraDefines_
 Vertex shader extra defines.
 
String psExtraDefines_
 Pixel shader extra defines.
 
StringHash vsExtraDefinesHash_
 Hash for vertex shader extra defines.
 
StringHash psExtraDefinesHash_
 Hash for pixel shader extra defines.
 

Detailed Description

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


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