U3D
Open-source, cross-platform 2D and 3D game engine built in C++
Loading...
Searching...
No Matches
Urho3D::BatchGroup Struct Reference

Instanced 3D geometry draw call. More...

#include </var/dev/u3d/stable/Source/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 ()=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

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: