Urho3D::BatchGroup Struct Reference

Instanced 3D geometry draw call. More...

#include <Urho3D/Graphics/Batch.h>

Inheritance diagram for Urho3D::BatchGroup:
[legend]
Collaboration diagram for Urho3D::BatchGroup:
[legend]

Public Member Functions

 BatchGroup ()
 Construct with defaults.
 
 BatchGroup (const Batch &batch)
 Construct from a batch.
 
 ~BatchGroup ()=default
 Destruct.
 
void AddTransforms (const Batch &batch)
 Add world transform(s) from a batch.
 
void SetInstancingData (void *lockedData, unsigned stride, unsigned &freeIndex)
 Pre-set the instance data. Buffer must be big enough to hold all data.
 
void Draw (View *view, Camera *camera, bool allowDepthWrite) const
 Prepare and draw.
 
- Public Member Functions inherited from Urho3D::Batch
 Batch ()
 Construct with defaults.
 
 Batch (const SourceBatch &rhs)
 Construct from a drawable's source batch.
 
void CalculateSortKey ()
 Calculate state sorting key, which consists of base pass flag, light, pass and geometry.
 
void Prepare (View *view, Camera *camera, bool setModelTransform, bool allowDepthWrite) const
 Prepare for rendering.
 
void Draw (View *view, Camera *camera, bool allowDepthWrite) const
 Prepare and draw.
 

Public Attributes

PODVector< InstanceDatainstances_
 Instance data.
 
unsigned startIndex_
 Instance stream start index, or M_MAX_UNSIGNED if transforms not pre-set.
 
- Public Attributes inherited from Urho3D::Batch
unsigned long long sortKey_
 State sorting key.
 
float distance_
 Distance from camera.
 
unsigned char renderOrder_
 8-bit render order modifier from material.
 
unsigned char lightMask_
 8-bit light mask for stencil marking in deferred rendering.
 
bool isBase_
 Base batch flag. This tells to draw the object fully without light optimizations.
 
Geometrygeometry_
 Geometry.
 
Materialmaterial_
 Material.
 
const Matrix3x4worldTransform_
 World transform(s). For a skinned model, these are the bone transforms.
 
unsigned numWorldTransforms_
 Number of world transforms.
 
void * instancingData_
 Per-instance data. If not null, must contain enough data to fill instancing buffer.
 
Zonezone_
 Zone.
 
LightBatchQueuelightQueue_
 Light properties.
 
Passpass_
 Material pass.
 
ShaderVariationvertexShader_
 Vertex shader.
 
ShaderVariationpixelShader_
 Pixel shader.
 
GeometryType geometryType_
 Geometry type.
 

Detailed Description

Instanced 3D geometry draw call.


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