U3D
Open-source, cross-platform 2D and 3D game engine built in C++
|
Queue that contains both instanced and non-instanced draw calls. More...
#include </var/dev/u3d/stable/Source/Urho3D/Graphics/Batch.h>
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, 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< Batch > | batches_ |
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. | |
Queue that contains both instanced and non-instanced draw calls.