OGRE  13.4 Object-Oriented Graphics Rendering Engine
Ogre::RenderOperation Class Reference

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

#include <OgreRenderOperation.h>

## Public Types

enum  OperationType : uint8 {
OT_POINT_LIST = 1 , OT_LINE_LIST = 2 , OT_LINE_STRIP = 3 , OT_TRIANGLE_LIST = 4 ,
OT_TRIANGLE_STRIP = 5 , OT_TRIANGLE_FAN = 6 , OT_PATCH_1_CONTROL_POINT = 7 , OT_PATCH_2_CONTROL_POINT = 8 ,
OT_PATCH_3_CONTROL_POINT = 9 , OT_PATCH_4_CONTROL_POINT = 10 , OT_PATCH_5_CONTROL_POINT = 11 , OT_PATCH_6_CONTROL_POINT = 12 ,
OT_PATCH_7_CONTROL_POINT = 13 , OT_PATCH_8_CONTROL_POINT = 14 , OT_PATCH_9_CONTROL_POINT = 15 , OT_PATCH_10_CONTROL_POINT = 16 ,
OT_PATCH_11_CONTROL_POINT = 17 , OT_PATCH_12_CONTROL_POINT = 18 , OT_PATCH_13_CONTROL_POINT = 19 , OT_PATCH_14_CONTROL_POINT = 20 ,
OT_PATCH_15_CONTROL_POINT = 21 , OT_PATCH_16_CONTROL_POINT = 22 , OT_PATCH_17_CONTROL_POINT = 23 , OT_PATCH_18_CONTROL_POINT = 24 ,
OT_PATCH_19_CONTROL_POINT = 25 , OT_PATCH_20_CONTROL_POINT = 26 , OT_PATCH_21_CONTROL_POINT = 27 , OT_PATCH_22_CONTROL_POINT = 28 ,
OT_PATCH_23_CONTROL_POINT = 29 , OT_PATCH_24_CONTROL_POINT = 30 , OT_PATCH_25_CONTROL_POINT = 31 , OT_PATCH_26_CONTROL_POINT = 32 ,
OT_PATCH_27_CONTROL_POINT = 33 , OT_PATCH_28_CONTROL_POINT = 34 , OT_PATCH_29_CONTROL_POINT = 35 , OT_PATCH_30_CONTROL_POINT = 36 ,
OT_PATCH_31_CONTROL_POINT = 37 , OT_PATCH_32_CONTROL_POINT = 38 , OT_DETAIL_ADJACENCY_BIT = 1 << 6 , OT_LINE_LIST_ADJ = OT_LINE_LIST | OT_DETAIL_ADJACENCY_BIT ,
}
The rendering operation type to perform. More...

## Public Member Functions

RenderOperation ()

## Public Attributes

IndexDataindexData
Index data - only valid if useIndexes is true. More...

uint32 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...

const RenderablesrcRenderable
Debug pointer back to renderable which created this. 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...

## Detailed Description

'New' rendering operation using vertex buffers.

## ◆ OperationType

The rendering operation type to perform.

Enumerator
OT_POINT_LIST

A list of points, 1 vertex per point.

OT_LINE_LIST

A list of lines, 2 vertices per line.

OT_LINE_STRIP

A strip of connected lines, 1 vertex per line plus 1 start vertex.

OT_TRIANGLE_LIST

A list of triangles, 3 vertices per triangle.

OT_TRIANGLE_STRIP

A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that.

OT_TRIANGLE_FAN

A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that.

OT_PATCH_1_CONTROL_POINT

Patch control point operations, used with tessellation stages.

OT_PATCH_2_CONTROL_POINT
OT_PATCH_3_CONTROL_POINT
OT_PATCH_4_CONTROL_POINT
OT_PATCH_5_CONTROL_POINT
OT_PATCH_6_CONTROL_POINT
OT_PATCH_7_CONTROL_POINT
OT_PATCH_8_CONTROL_POINT
OT_PATCH_9_CONTROL_POINT
OT_PATCH_10_CONTROL_POINT
OT_PATCH_11_CONTROL_POINT
OT_PATCH_12_CONTROL_POINT
OT_PATCH_13_CONTROL_POINT
OT_PATCH_14_CONTROL_POINT
OT_PATCH_15_CONTROL_POINT
OT_PATCH_16_CONTROL_POINT
OT_PATCH_17_CONTROL_POINT
OT_PATCH_18_CONTROL_POINT
OT_PATCH_19_CONTROL_POINT
OT_PATCH_20_CONTROL_POINT
OT_PATCH_21_CONTROL_POINT
OT_PATCH_22_CONTROL_POINT
OT_PATCH_23_CONTROL_POINT
OT_PATCH_24_CONTROL_POINT
OT_PATCH_25_CONTROL_POINT
OT_PATCH_26_CONTROL_POINT
OT_PATCH_27_CONTROL_POINT
OT_PATCH_28_CONTROL_POINT
OT_PATCH_29_CONTROL_POINT
OT_PATCH_30_CONTROL_POINT
OT_PATCH_31_CONTROL_POINT
OT_PATCH_32_CONTROL_POINT

Mark that the index buffer contains adjacency information.

## ◆ RenderOperation()

 Ogre::RenderOperation::RenderOperation ( )
inline

## ◆ vertexData

 VertexData* Ogre::RenderOperation::vertexData

Vertex source data.

## ◆ indexData

 IndexData* Ogre::RenderOperation::indexData

Index data - only valid if useIndexes is true.

Referenced by Ogre::ManualObject::index().

## ◆ srcRenderable

 const Renderable* Ogre::RenderOperation::srcRenderable

Debug pointer back to renderable which created this.

## ◆ numberOfInstances

 uint32 Ogre::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::RenderOperation::operationType

The type of operation to perform.

## ◆ useIndexes

 bool Ogre::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.

Referenced by Ogre::ManualObject::index().

## ◆ useGlobalInstancingVertexBufferIsAvailable

 bool Ogre::RenderOperation::useGlobalInstancingVertexBufferIsAvailable

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

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