OGRE: Ogre::RenderOperation Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::RenderOperation Class Reference
Core » RenderSystem

'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 , OT_LINE_STRIP_ADJ = OT_LINE_STRIP | OT_DETAIL_ADJACENCY_BIT , OT_TRIANGLE_LIST_ADJ = OT_TRIANGLE_LIST | OT_DETAIL_ADJACENCY_BIT , OT_TRIANGLE_STRIP_ADJ = OT_TRIANGLE_STRIP | OT_DETAIL_ADJACENCY_BIT }
| The rendering operation type to perform. More...

## Public Member Functions
| RenderOperation ()

## Public Attributes
IndexData * | indexData
| Index data - only valid if useIndexes is true.
uint32 | numberOfInstances
| The number of instances for the render operation - this option is supported in only a part of the render systems.
OperationType | operationType
| The type of operation to perform.
const Renderable * | srcRenderable
| Debug pointer back to renderable which created this.
bool | useGlobalInstancing
| A flag to indicate that it is possible for this operation to use a global vertex instance buffer if available.
bool | useIndexes
| Specifies whether to use indexes to determine the vertices to use as input.
VertexData * | vertexData
| Vertex source data.

## Detailed Description

'New' rendering operation using vertex buffers.

## Member Enumeration Documentation

## ◆ OperationType

enum Ogre::RenderOperation::OperationType : uint8

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 |
OT_DETAIL_ADJACENCY_BIT | Mark that the index buffer contains adjacency information.
OT_LINE_LIST_ADJ | like OT_POINT_LIST but with adjacency information for the geometry shader
OT_LINE_STRIP_ADJ | like OT_LINE_STRIP but with adjacency information for the geometry shader
OT_TRIANGLE_LIST_ADJ | like OT_TRIANGLE_LIST but with adjacency information for the geometry shader
OT_TRIANGLE_STRIP_ADJ | like OT_TRIANGLE_STRIP but with adjacency information for the geometry shader

## Constructor & Destructor Documentation

## ◆ RenderOperation()

Ogre::RenderOperation::RenderOperation | ( |  | ) |
| inline

References indexData, numberOfInstances, operationType, OT_TRIANGLE_LIST, srcRenderable, useGlobalInstancing, useIndexes, and vertexData.

## Member Data Documentation

## ◆ vertexData

VertexData* Ogre::RenderOperation::vertexData

Vertex source data.

Referenced by RenderOperation().

## ◆ indexData

IndexData* Ogre::RenderOperation::indexData

Index data - only valid if useIndexes is true.

Referenced by RenderOperation(), and Ogre::ManualObject::index().

## ◆ srcRenderable

const Renderable* Ogre::RenderOperation::srcRenderable

Debug pointer back to renderable which created this.

Referenced by RenderOperation().

## ◆ 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.

Referenced by RenderOperation().

## ◆ operationType

OperationType Ogre::RenderOperation::operationType

The type of operation to perform.

Referenced by RenderOperation().

## ◆ 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 RenderOperation(), and Ogre::ManualObject::index().

## ◆ useGlobalInstancing

bool Ogre::RenderOperation::useGlobalInstancing

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

Referenced by RenderOperation().

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

- OgreRenderOperation.h