U3D
Open-source, cross-platform 2D and 3D game engine built in C++
|
Instanced 3D geometry draw call. More...
#include </var/dev/u3d/stable/Source/Urho3D/Graphics/Batch.h>
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< InstanceData > | instances_ |
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. | |
Geometry * | geometry_ {} |
Geometry. | |
Material * | material_ {} |
Material. | |
const Matrix3x4 * | worldTransform_ {} |
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. | |
Zone * | zone_ {} |
Zone. | |
LightBatchQueue * | lightQueue_ {} |
Light properties. | |
Pass * | pass_ {} |
Material pass. | |
ShaderVariation * | vertexShader_ {} |
Vertex shader. | |
ShaderVariation * | pixelShader_ {} |
Pixel shader. | |
GeometryType | geometryType_ {} |
Geometry type. | |
Instanced 3D geometry draw call.