Urho3D
Public Member Functions | Public Attributes | List of all members
Urho3D::BatchGroup Struct Reference

Instanced 3D geometry draw call. More...

#include </home/runner/work/urho3d-doxygen.github.io/urho3d-doxygen.github.io/urho3d_repo/Source/Urho3D/Graphics/Batch.h>

Inheritance diagram for Urho3D::BatchGroup:
Urho3D::Batch

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, i32 stride, i32 &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 ()=default
 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

Vector< InstanceDatainstances_
 Instance data.
 
i32 startIndex_
 Instance stream start index, or NINDEX if transforms not pre-set.
 
- Public Attributes inherited from Urho3D::Batch
hash64 sortKey_ {}
 State sorting key.
 
float distance_ {}
 Distance from camera.
 
i8 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.
 
i32 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: