OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::v1::RenderOperation Class Reference

'New' rendering operation using vertex buffers. More...

#include <OgreRenderOperation.h>

Public Member Functions

 RenderOperation ()
 

Public Attributes

IndexDataindexData
 Index data - only valid if useIndexes is true. More...
 
uint32 meshIndex
 This index is set to 0 by default. More...
 
size_t numberOfInstances
 The number of instances for the render operation - this option is supported in only a part of the render systems. More...
 
OperationType operationType
 The type of operation to perform. More...
 
bool renderToVertexBuffer
 Specifies whether rendering to the vertex buffer. More...
 
bool useGlobalInstancingVertexBufferIsAvailable
 A flag to indicate that it is possible for this operation to use a global vertex instance buffer if available. More...
 
bool useIndexes
 Specifies whether to use indexes to determine the vertices to use as input. More...
 
VertexDatavertexData
 Vertex source data. More...
 

Static Public Attributes

static AtomicScalar< uint32MeshIndexId
 

Detailed Description

'New' rendering operation using vertex buffers.

Constructor & Destructor Documentation

◆ RenderOperation()

Ogre::v1::RenderOperation::RenderOperation ( )
inline

Member Data Documentation

◆ indexData

IndexData* Ogre::v1::RenderOperation::indexData

Index data - only valid if useIndexes is true.

◆ meshIndex

uint32 Ogre::v1::RenderOperation::meshIndex

This index is set to 0 by default.

The RenderQueue will sort by mesh using this index. Two different RenderOperations may have the same meshIndex, but if so, performance could be degraded (it would hinder auto instancing, forces rebinding of the vertex & index buffer per Renderable, etc) It is the implementation's responsability to assign a (unique if possible) index. The static variable MeshIndexId is provided as an incrementing ID, but you're not forced to use it

◆ MeshIndexId

AtomicScalar<uint32> Ogre::v1::RenderOperation::MeshIndexId
static

◆ numberOfInstances

size_t Ogre::v1::RenderOperation::numberOfInstances

The number of instances for the render operation - this option is supported in only a part of the render systems.

◆ operationType

OperationType Ogre::v1::RenderOperation::operationType

The type of operation to perform.

◆ renderToVertexBuffer

bool Ogre::v1::RenderOperation::renderToVertexBuffer

Specifies whether rendering to the vertex buffer.

◆ useGlobalInstancingVertexBufferIsAvailable

bool Ogre::v1::RenderOperation::useGlobalInstancingVertexBufferIsAvailable

A flag to indicate that it is possible for this operation to use a global vertex instance buffer if available.

◆ useIndexes

bool Ogre::v1::RenderOperation::useIndexes

Specifies whether to use indexes to determine the vertices to use as input.

If false, the vertices are simply read in sequence to define the primitives. If true, indexes are used instead to identify vertices anywhere in the buffer, and allowing vertices to be used more than once. If true, then the indexBuffer, indexStart and numIndexes properties must be valid.

◆ vertexData

VertexData* Ogre::v1::RenderOperation::vertexData

Vertex source data.


The documentation for this class was generated from the following file: