OGRE: RenderSystem

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
RenderSystem
Core

## Classes
struct | Ogre::ConfigOption
| Packages the details of a configuration option. More...
class | Ogre::DefaultHardwareBuffer
| Specialisation of HardwareBuffer for emulation. More...
class | Ogre::DefaultHardwareBufferManager
| DefaultHardwareBufferManager as a Singleton. More...
class | Ogre::DefaultHardwareBufferManagerBase
| Specialisation of HardwareBufferManagerBase to emulate hardware buffers. More...
class | Ogre::DepthBuffer
| An abstract class that contains a depth/stencil buffer. More...
struct | Ogre::DriverVersion
| DriverVersion is used by RenderSystemCapabilities and both GL and D3D9 to store the version of the current GPU driver. More...
struct | Ogre::GlobalInstancingData
class | Ogre::HardwareBuffer
| Abstract class defining common features of hardware buffers. More...
class | Ogre::HardwareBufferLicensee
| Abstract interface representing a 'licensee' of a hardware buffer copy. More...
struct | Ogre::HardwareBufferLockGuard
| Locking helper. More...
class | Ogre::HardwareBufferManager
| Singleton wrapper for hardware buffer manager. More...
class | Ogre::HardwareBufferManagerBase
| Base definition of a hardware buffer manager. More...
class | Ogre::HardwareIndexBuffer
| Specialisation of HardwareBuffer for vertex index buffers, still abstract. More...
class | Ogre::HardwareOcclusionQuery
| Query how many pixels have passed the per-fragment tests. More...
class | Ogre::HardwarePixelBuffer
| Specialisation of HardwareBuffer for a pixel buffer. More...
class | Ogre::HardwareVertexBuffer
| Specialisation of HardwareBuffer for a vertex buffer. More...
class | Ogre::IndexData
| Summary class collecting together index data source information. More...
class | Ogre::MultiRenderTarget
| This class represents a render target that renders to multiple RenderTextures at once. More...
class | Ogre::QueuedRenderableCollection
| Lowest level collection of renderables. More...
class | Ogre::QueuedRenderableVisitor
| Visitor interface for items in a QueuedRenderableCollection. More...
struct | Ogre::RenderablePass
| Struct associating a single Pass with a single Renderable. More...
class | Ogre::RenderOperation
| 'New' rendering operation using vertex buffers. More...
class | Ogre::RenderPriorityGroup
| Collection of renderables by priority. More...
class | Ogre::RenderQueue
| Class to manage the scene object rendering queue. More...
class | Ogre::RenderQueueGroup
| A grouping level underneath RenderQueue which groups renderables to be issued at coarsely the same time to the renderer. More...
class | Ogre::RenderQueueListener
| Abstract interface which classes must implement if they wish to receive events from the render queue. More...
class | Ogre::RenderSystem
| Defines the functionality of a 3D API. More...
class | Ogre::RenderSystemCapabilities
| This class stores the capabilities of the graphics card. More...
class | Ogre::RenderSystemCapabilitiesManager
| Class for managing RenderSystemCapabilities database for Ogre. More...
class | Ogre::RenderSystemCapabilitiesSerializer
| Class for serializing RenderSystemCapabilities to / from a .rendercaps script. More...
class | Ogre::RenderTarget
| A 'canvas' which can receive the results of a rendering operation. More...
struct | Ogre::RenderTargetEvent
| Struct containing information about a RenderTarget event. More...
class | Ogre::RenderTargetListener
| A interface class defining a listener which can be used to receive notifications of RenderTarget events. More...
struct | Ogre::RenderTargetViewportEvent
| Struct containing information about a RenderTarget Viewport-specific event. More...
class | Ogre::RenderTexture
| This class represents a RenderTarget that renders to a Texture. More...
class | Ogre::RenderToVertexBuffer
| An object which renders geometry to a vertex. More...
class | Ogre::RenderWindow
| Manages the target rendering window. More...
struct | Ogre::StencilState
| Describes the stencil buffer operation. More...
class | Ogre::VertexBufferBinding
| Records the state of all the vertex buffer bindings required to provide a vertex declaration with the input data it needs for the vertex elements. More...
class | Ogre::VertexCacheProfiler
| Vertex cache profiler. More...
class | Ogre::VertexData
| collects together all the vertex-related information used to render geometry. More...
class | Ogre::VertexDeclaration
| This class declares the format of a set of vertex inputs, which can be issued to the rendering API through a RenderOperation. More...
class | Ogre::VertexElement
| This class declares the usage of a single vertex buffer as a component of a complete VertexDeclaration. More...
class | Ogre::Viewport
| An abstraction of a viewport, i.e., a rendering region on a render target. More...

## Macros
#define | OGRE_RENDERABLE_DEFAULT_PRIORITY Ogre::Renderable::DEFAULT_PRIORITY

## Typedefs
typedef std::map< String, ConfigOption > | Ogre::ConfigOptionMap
typedef DefaultHardwareBuffer | Ogre::DefaultHardwareUniformBuffer
typedef std::map< uint32, DepthBufferVec > | Ogre::DepthBufferMap
typedef std::vector< DepthBuffer * > | Ogre::DepthBufferVec
typedef HardwareBuffer | Ogre::HardwareCounterBuffer
typedef HardwareBufferLockGuard | Ogre::HardwareIndexBufferLockGuard
typedef HardwareBuffer | Ogre::HardwareUniformBuffer
typedef HardwareBufferLockGuard | Ogre::HardwareVertexBufferLockGuard
typedef std::vector< Renderable * > | Ogre::RenderableList
typedef std::map< String, RenderTarget * > | Ogre::RenderTargetMap
typedef std::multimap< uchar, RenderTarget * > | Ogre::RenderTargetPriorityMap

## Enumerations
enum | Ogre::Capabilities { Ogre::RSC_PRIMITIVE_RESTART = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 0) , Ogre::RSC_AUTOMIPMAP_COMPRESSED = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 1) , Ogre::RSC_ANISOTROPY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 2) , Ogre::RSC_DEPTH_CLAMP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 3) , Ogre::RSC_WIDE_LINES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 4) , Ogre::RSC_HWSTENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 5) , Ogre::RSC_READ_WRITE_BUFFERS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 6) , Ogre::RSC_TEXTURE_COMPRESSION_ASTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 7) , Ogre::RSC_32BIT_INDEX = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 8) , Ogre::RSC_VERTEX_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 9) , Ogre::RSC_TESSELLATION_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 10) , Ogre::RSC_TEXTURE_2D_ARRAY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 11) , Ogre::RSC_TWO_SIDED_STENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 12) , Ogre::RSC_STENCIL_WRAP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 13) , Ogre::RSC_HWOCCLUSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 14) , Ogre::RSC_USER_CLIP_PLANES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 15) , Ogre::RSC_COMPUTE_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 16) , Ogre::RSC_TEXTURE_1D = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 17) , Ogre::RSC_HWRENDER_TO_TEXTURE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 18) , Ogre::RSC_TEXTURE_FLOAT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 19) , Ogre::RSC_NON_POWER_OF_2_TEXTURES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 20) , Ogre::RSC_TEXTURE_3D = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 21) , Ogre::RSC_POINT_SPRITES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 22) , Ogre::RSC_POINT_EXTENDED_PARAMETERS = RSC_POINT_SPRITES , Ogre::RSC_HWRENDER_TO_VERTEX_BUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 23) , Ogre::RSC_VERTEX_TEXTURE_FETCH = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 24) , Ogre::RSC_MIPMAP_LOD_BIAS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 25) , Ogre::RSC_GEOMETRY_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 26) , Ogre::RSC_VERTEX_FORMAT_16X3 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 27) , Ogre::RSC_TEXTURE_COMPRESSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 0) , Ogre::RSC_TEXTURE_COMPRESSION_DXT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 1) , Ogre::RSC_TEXTURE_COMPRESSION_VTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 2) , Ogre::RSC_TEXTURE_COMPRESSION_PVRTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 3) , Ogre::RSC_TEXTURE_COMPRESSION_ATC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 4) , Ogre::RSC_TEXTURE_COMPRESSION_ETC1 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 5) , Ogre::RSC_TEXTURE_COMPRESSION_ETC2 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 6) , Ogre::RSC_TEXTURE_COMPRESSION_BC4_BC5 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 7) , Ogre::RSC_TEXTURE_COMPRESSION_BC6H_BC7 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 8) , Ogre::RSC_FIXED_FUNCTION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 9) , Ogre::RSC_VERTEX_FORMAT_INT_10_10_10_2 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 10) , Ogre::RSC_ALPHA_TO_COVERAGE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 11) , Ogre::RSC_CAN_GET_COMPILED_SHADER_BUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 12) , Ogre::RSC_HW_GAMMA = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 13) , Ogre::RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 14) , Ogre::RSC_RTT_INDEPENDENT_BUFFER_SIZE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 15) , Ogre::RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL = RSC_RTT_INDEPENDENT_BUFFER_SIZE , Ogre::RSC_VERTEX_BUFFER_INSTANCE_DATA = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 16) , Ogre::RSC_MESH_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 17) , Ogre::RSC_VP_RT_INDEX_ANY_SHADER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 18) , Ogre::RSC_PERSTAGECONSTANT = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 0) , Ogre::RSC_READ_BACK_AS_TEXTURE = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 1) , Ogre::RSC_WBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 2) , Ogre::RSC_HWOCCLUSION_ASYNCHRONOUS = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 3) , Ogre::RSC_HWRENDER_TO_TEXTURE_3D = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 4) , Ogre::RSC_MRT_SAME_BIT_DEPTHS = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 5) , Ogre::RSC_PBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 0) , Ogre::RSC_SEPARATE_SHADER_OBJECTS = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 1) , Ogre::RSC_VAO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 2) , Ogre::RSC_GLSL_SSO_REDECLARE = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 3) , Ogre::RSC_DEBUG = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 4) , Ogre::RSC_MAPBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 5) , Ogre::RSC_INFINITE_FAR_PLANE = RSC_VERTEX_PROGRAM , Ogre::RSC_FRAGMENT_PROGRAM = RSC_VERTEX_PROGRAM , Ogre::RSC_TESSELLATION_DOMAIN_PROGRAM = RSC_TESSELLATION_PROGRAM , Ogre::RSC_TESSELLATION_HULL_PROGRAM = RSC_TESSELLATION_PROGRAM }
| Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability a is the category (which can be from 0 to 15) b is the value (from 0 to 27). More...
enum | Ogre::CapabilitiesCategory { Ogre::CAPS_CATEGORY_COMMON = 0 , Ogre::CAPS_CATEGORY_COMMON_2 = 1 , Ogre::CAPS_CATEGORY_D3D9 = 2 , Ogre::CAPS_CATEGORY_GL = 3 , Ogre::CAPS_CATEGORY_COMMON_3 = 4 , Ogre::CAPS_CATEGORY_COUNT = 5 }
| Enumerates the categories of capabilities. More...
enum | Ogre::GPUVendor { Ogre::GPU_UNKNOWN = 0 , Ogre::GPU_NVIDIA , Ogre::GPU_AMD , Ogre::GPU_INTEL , Ogre::GPU_IMAGINATION_TECHNOLOGIES , Ogre::GPU_APPLE , Ogre::GPU_NOKIA , Ogre::GPU_MS_SOFTWARE , Ogre::GPU_MS_WARP , Ogre::GPU_ARM , Ogre::GPU_QUALCOMM , Ogre::GPU_MOZILLA , Ogre::GPU_WEBKIT , Ogre::GPU_VENDOR_COUNT }
| Enumeration of GPU vendors. More...
enum | Ogre::HardwareBufferUsage : uint8 { Ogre::HBU_GPU_TO_CPU = 1 , Ogre::HBU_CPU_ONLY = 2 , Ogre::HBU_DETAIL_WRITE_ONLY = 4 , Ogre::HBU_GPU_ONLY = HBU_GPU_TO_CPU | HBU_DETAIL_WRITE_ONLY , Ogre::HBU_CPU_TO_GPU = HBU_CPU_ONLY | HBU_DETAIL_WRITE_ONLY }
| Enums describing buffer usage. More...
enum | Ogre::DepthBuffer::PoolId { Ogre::DepthBuffer::POOL_NO_DEPTH = RBP_NONE , Ogre::DepthBuffer::POOL_MANUAL_USAGE = RBP_NONE , Ogre::DepthBuffer::POOL_DEFAULT = RBP_DEFAULT }
enum | Ogre::RenderQueueGroupID { Ogre::RENDER_QUEUE_BACKGROUND = 0 , Ogre::RENDER_QUEUE_SKIES_EARLY = 5 , Ogre::RENDER_QUEUE_1 = 10 , Ogre::RENDER_QUEUE_2 = 20 , Ogre::RENDER_QUEUE_WORLD_GEOMETRY_1 = 25 , Ogre::RENDER_QUEUE_3 = 30 , Ogre::RENDER_QUEUE_4 = 40 , Ogre::RENDER_QUEUE_MAIN = 50 , Ogre::RENDER_QUEUE_6 = 60 , Ogre::RENDER_QUEUE_7 = 70 , Ogre::RENDER_QUEUE_WORLD_GEOMETRY_2 = 75 , Ogre::RENDER_QUEUE_8 = 80 , Ogre::RENDER_QUEUE_SKIES_LATE = 90 , Ogre::RENDER_QUEUE_TRANSPARENTS = 95 , Ogre::RENDER_QUEUE_OVERLAY = 100 , Ogre::RENDER_QUEUE_MAX = 105 , Ogre::RENDER_QUEUE_COUNT }
| Enumeration of queue groups, by which the application may group queued renderables so that they are rendered together with events in between. More...
enum | Ogre::StencilOperation { Ogre::SOP_KEEP , Ogre::SOP_ZERO , Ogre::SOP_REPLACE , Ogre::SOP_INCREMENT , Ogre::SOP_DECREMENT , Ogre::SOP_INCREMENT_WRAP , Ogre::SOP_DECREMENT_WRAP , Ogre::SOP_INVERT }
| Enum describing the various actions which can be taken on the stencil buffer. More...
enum | Ogre::TexCoordCalcMethod : uint8 { Ogre::TEXCALC_NONE , Ogre::TEXCALC_ENVIRONMENT_MAP , Ogre::TEXCALC_ENVIRONMENT_MAP_PLANAR , Ogre::TEXCALC_ENVIRONMENT_MAP_REFLECTION , Ogre::TEXCALC_ENVIRONMENT_MAP_NORMAL , Ogre::TEXCALC_PROJECTIVE_TEXTURE }
| Enum describing the ways to generate texture coordinates. More...
enum | Ogre::VertexElementSemantic : uint8 { Ogre::VES_POSITION = 1 , Ogre::VES_BLEND_WEIGHTS = 2 , Ogre::VES_BLEND_INDICES = 3 , Ogre::VES_NORMAL = 4 , Ogre::VES_COLOUR = 5 , Ogre::VES_COLOUR2 = 6 , Ogre::VES_TEXTURE_COORDINATES = 7 , Ogre::VES_BINORMAL = 8 , Ogre::VES_TANGENT = 9 , Ogre::VES_COUNT = 9 , Ogre::VES_DIFFUSE = VES_COLOUR , Ogre::VES_SPECULAR = VES_COLOUR2 }
| Vertex element semantics, used to identify the meaning of vertex buffer contents. More...
enum | Ogre::VertexElementType : uint8 { Ogre::VET_FLOAT1 = 0 , Ogre::VET_FLOAT2 = 1 , Ogre::VET_FLOAT3 = 2 , Ogre::VET_FLOAT4 = 3 , Ogre::VET_SHORT1 = 5 , Ogre::VET_SHORT2 = 6 , Ogre::VET_SHORT3 = 7 , Ogre::VET_SHORT4 = 8 , Ogre::VET_UBYTE4 = 9 , Ogre::_DETAIL_SWAP_RB = 10 , Ogre::VET_DOUBLE1 = 12 , Ogre::VET_DOUBLE2 = 13 , Ogre::VET_DOUBLE3 = 14 , Ogre::VET_DOUBLE4 = 15 , Ogre::VET_USHORT1 = 16 , Ogre::VET_USHORT2 = 17 , Ogre::VET_USHORT3 = 18 , Ogre::VET_USHORT4 = 19 , Ogre::VET_INT1 = 20 , Ogre::VET_INT2 = 21 , Ogre::VET_INT3 = 22 , Ogre::VET_INT4 = 23 , Ogre::VET_UINT1 = 24 , Ogre::VET_UINT2 = 25 , Ogre::VET_UINT3 = 26 , Ogre::VET_UINT4 = 27 , Ogre::VET_BYTE4 = 28 , Ogre::VET_BYTE4_NORM = 29 , Ogre::VET_UBYTE4_NORM = 30 , Ogre::VET_SHORT2_NORM = 31 , Ogre::VET_SHORT4_NORM = 32 , Ogre::VET_USHORT2_NORM = 33 , Ogre::VET_USHORT4_NORM = 34 , Ogre::VET_INT_10_10_10_2_NORM = 35 , Ogre::VET_HALF1 = 36 , Ogre::VET_HALF2 = 37 , Ogre::VET_HALF3 = 38 , Ogre::VET_HALF4 = 39 , Ogre::VET_COLOUR = VET_UBYTE4_NORM , Ogre::VET_COLOUR_ARGB = VET_UBYTE4_NORM , Ogre::VET_COLOUR_ABGR = VET_UBYTE4_NORM }
| Vertex element type, used to identify the base types of the vertex contents. More...

## Functions
| Ogre::DepthBuffer::DepthBuffer (uint16 poolId, uint32 width, uint32 height, uint32 fsaa, bool manual)
virtual | Ogre::DepthBuffer::~DepthBuffer ()
virtual void | Ogre::DepthBuffer::_notifyRenderTargetAttached (RenderTarget *renderTarget)
| Called when a RenderTarget is attaches this DepthBuffer.
virtual void | Ogre::DepthBuffer::_notifyRenderTargetDetached (RenderTarget *renderTarget)
| Called when a RenderTarget is detaches from this DepthBuffer.
void | Ogre::DepthBuffer::_setPoolId (uint16 poolId)
uint32 | Ogre::DepthBuffer::getFSAA () const
virtual uint32 | Ogre::DepthBuffer::getHeight () const
virtual uint16 | Ogre::DepthBuffer::getPoolId () const
| Gets the pool id in which this DepthBuffer lives.
virtual uint32 | Ogre::DepthBuffer::getWidth () const
virtual bool | Ogre::DepthBuffer::isCompatible (RenderTarget *renderTarget) const
| Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget.
bool | Ogre::DepthBuffer::isManual () const
| Manual DepthBuffers are cleared in RenderSystem's destructor.
String | Ogre::to_string (const DriverVersion &v)
String | Ogre::to_string (GPUVendor v)

## Detailed Description

## Macro Definition Documentation

## ◆ OGRE_RENDERABLE_DEFAULT_PRIORITY

#define OGRE_RENDERABLE_DEFAULT_PRIORITY Ogre::Renderable::DEFAULT_PRIORITY

Deprecated

## Typedef Documentation

## ◆ ConfigOptionMap

typedef std::map< String, ConfigOption > Ogre::ConfigOptionMap

## ◆ DefaultHardwareUniformBuffer

typedef DefaultHardwareBuffer Ogre::DefaultHardwareUniformBuffer

## ◆ HardwareCounterBuffer

typedef HardwareBuffer Ogre::HardwareCounterBuffer

## ◆ HardwareUniformBuffer

typedef HardwareBuffer Ogre::HardwareUniformBuffer

## ◆ HardwareIndexBufferLockGuard

typedef HardwareBufferLockGuard Ogre::HardwareIndexBufferLockGuard

Deprecated
  use HardwareBufferLockGuard directly

## ◆ HardwareVertexBufferLockGuard

typedef HardwareBufferLockGuard Ogre::HardwareVertexBufferLockGuard

Deprecated
  use HardwareBufferLockGuard directly

## ◆ RenderableList

typedef std::vector<Renderable*> Ogre::RenderableList

## ◆ DepthBufferVec

typedef std::vector<DepthBuffer*> Ogre::DepthBufferVec

## ◆ DepthBufferMap

typedef std::map< uint32, DepthBufferVec > Ogre::DepthBufferMap

## ◆ RenderTargetMap

typedef std::map< String, RenderTarget * > Ogre::RenderTargetMap

## ◆ RenderTargetPriorityMap

typedef std::multimap<uchar, RenderTarget * > Ogre::RenderTargetPriorityMap

## Enumeration Type Documentation

## ◆ PoolId

enum Ogre::DepthBuffer::PoolId

Deprecated
  use RenderBufferPool instead

Enumerator
POOL_NO_DEPTH |
POOL_MANUAL_USAGE |
POOL_DEFAULT |

## ◆ HardwareBufferUsage

enum Ogre::HardwareBufferUsage : uint8

Enums describing buffer usage.

Enumerator
HBU_GPU_TO_CPU | Memory mappable on host and cached. Usage results of some computations, e.g. screen capture
HBU_CPU_ONLY | CPU (system) memory This is the least optimal buffer setting. Usage Staging copy of resources used as transfer source.
HBU_DETAIL_WRITE_ONLY | Indicates the application will never read the contents of the buffer back, it will only ever write data. Locking a buffer with this flag will ALWAYS return a pointer to new, blank memory rather than the memory associated with the contents of the buffer; this avoids DMA stalls because you can write to a new memory area while the previous one is being used. However, you may read from it’s shadow buffer if you set one up
HBU_GPU_ONLY | Device-local GPU (video) memory. No need to be mappable on host. This is the optimal buffer usage setting. Usage Resources transferred from host once (immutable) - e.g. most textures, vertex buffers
HBU_CPU_TO_GPU | Mappable on host and preferably fast to access by GPU. Usage Resources written frequently by host (dynamic) - e.g. uniform buffers updated every frame

## ◆ VertexElementSemantic

enum Ogre::VertexElementSemantic : uint8

Vertex element semantics, used to identify the meaning of vertex buffer contents.

Enumerator
VES_POSITION | Position, typically VET_FLOAT3.
VES_BLEND_WEIGHTS | Blending weights.
VES_BLEND_INDICES | Blending indices.
VES_NORMAL | Normal, typically VET_FLOAT3.
VES_COLOUR | Colour, typically VET_UBYTE4.
VES_COLOUR2 | Secondary colour. Generally free for custom data. Means specular with OpenGL FFP.
VES_TEXTURE_COORDINATES | Texture coordinates, typically VET_FLOAT2.
VES_BINORMAL | Binormal (Y axis if normal is Z).
VES_TANGENT | Tangent (X axis if normal is Z).
VES_COUNT | The number of VertexElementSemantic elements (note - the first value VES_POSITION is 1).
VES_DIFFUSE | Deprecated use VES_COLOUR
VES_SPECULAR | Deprecated use VES_COLOUR2

## ◆ VertexElementType

enum Ogre::VertexElementType : uint8

Vertex element type, used to identify the base types of the vertex contents.

VET_SHORT1, VET_SHORT3, VET_USHORT1 and VET_USHORT3 should be used with caution because they aren't supported on D3D9 and D3D11 - they are unaligned as their size is not a multiple of 4 bytes. Therefore drivers usually add padding on upload.

Enumerator
VET_FLOAT1 |
VET_FLOAT2 |
VET_FLOAT3 |
VET_FLOAT4 |
VET_SHORT1 | not supported on D3D9
VET_SHORT2 |
VET_SHORT3 | not supported on D3D9 and D3D11
VET_SHORT4 |
VET_UBYTE4 |
_DETAIL_SWAP_RB |
VET_DOUBLE1 |
VET_DOUBLE2 |
VET_DOUBLE3 |
VET_DOUBLE4 |
VET_USHORT1 | not supported on D3D9
VET_USHORT2 |
VET_USHORT3 | not supported on D3D9 and D3D11
VET_USHORT4 |
VET_INT1 |
VET_INT2 |
VET_INT3 |
VET_INT4 |
VET_UINT1 |
VET_UINT2 |
VET_UINT3 |
VET_UINT4 |
VET_BYTE4 | signed bytes
VET_BYTE4_NORM | signed bytes (normalized to -1..1)
VET_UBYTE4_NORM | unsigned bytes (normalized to 0..1)
VET_SHORT2_NORM | signed shorts (normalized to -1..1)
VET_SHORT4_NORM |
VET_USHORT2_NORM | unsigned shorts (normalized to 0..1)
VET_USHORT4_NORM |
VET_INT_10_10_10_2_NORM | signed int (normalized to 0..1)
VET_HALF1 | not supported on D3D9
VET_HALF2 |
VET_HALF3 | not supported on D3D9 and D3D11
VET_HALF4 |
VET_COLOUR | Deprecated use VET_UBYTE4_NORM
VET_COLOUR_ARGB | Deprecated use VET_UBYTE4_NORM
VET_COLOUR_ABGR | Deprecated use VET_UBYTE4_NORM

## ◆ RenderQueueGroupID

enum Ogre::RenderQueueGroupID

Enumeration of queue groups, by which the application may group queued renderables so that they are rendered together with events in between.

When passed into methods these are actually passed as a uint8 to allow you to use values in between if you want to.

Enumerator
RENDER_QUEUE_BACKGROUND | Use this queue for objects which must be rendered first e.g. backgrounds.
RENDER_QUEUE_SKIES_EARLY | First queue (after backgrounds), used for skyboxes if rendered first.
RENDER_QUEUE_1 |
RENDER_QUEUE_2 |
RENDER_QUEUE_WORLD_GEOMETRY_1 |
RENDER_QUEUE_3 |
RENDER_QUEUE_4 |
RENDER_QUEUE_MAIN | The default render queue.
RENDER_QUEUE_6 |
RENDER_QUEUE_7 |
RENDER_QUEUE_WORLD_GEOMETRY_2 |
RENDER_QUEUE_8 |
RENDER_QUEUE_SKIES_LATE | Used for skyboxes if rendered last.
RENDER_QUEUE_TRANSPARENTS | Penultimate queue(before overlays).
RENDER_QUEUE_OVERLAY | Use this queue for objects which must be rendered last e.g. overlays.
RENDER_QUEUE_MAX | Final possible render queue, don't exceed this.
RENDER_QUEUE_COUNT |

## ◆ TexCoordCalcMethod

enum Ogre::TexCoordCalcMethod : uint8

Enum describing the ways to generate texture coordinates.

Enumerator
TEXCALC_NONE | No calculated texture coordinates.
TEXCALC_ENVIRONMENT_MAP | 2D texture coordinates using spherical reflection mapping based on vertex normals.
TEXCALC_ENVIRONMENT_MAP_PLANAR | 2D texture coordinates using view space position. Same as TEXCALC_ENVIRONMENT_MAP on all backends.
TEXCALC_ENVIRONMENT_MAP_REFLECTION | 3D texture coordinates using the reflection vector.
TEXCALC_ENVIRONMENT_MAP_NORMAL | 3D texture coordinates using the normal vector.
TEXCALC_PROJECTIVE_TEXTURE | Projective texture.

## ◆ StencilOperation

enum Ogre::StencilOperation

Enum describing the various actions which can be taken on the stencil buffer.

Enumerator
SOP_KEEP | Leave the stencil buffer unchanged.
SOP_ZERO | Set the stencil value to zero.
SOP_REPLACE | Set the stencil value to the reference value.
SOP_INCREMENT | Increase the stencil value by 1, clamping at the maximum value.
SOP_DECREMENT | Decrease the stencil value by 1, clamping at 0.
SOP_INCREMENT_WRAP | Increase the stencil value by 1, wrapping back to 0 when incrementing the maximum value.
SOP_DECREMENT_WRAP | Decrease the stencil value by 1, wrapping when decrementing 0.
SOP_INVERT | Invert the bits of the stencil buffer.

## ◆ CapabilitiesCategory

enum Ogre::CapabilitiesCategory

Enumerates the categories of capabilities.

Enumerator
CAPS_CATEGORY_COMMON |
CAPS_CATEGORY_COMMON_2 |
CAPS_CATEGORY_D3D9 |
CAPS_CATEGORY_GL |
CAPS_CATEGORY_COMMON_3 |
CAPS_CATEGORY_COUNT | Placeholder for max value.

## ◆ Capabilities

enum Ogre::Capabilities

Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability a is the category (which can be from 0 to 15) b is the value (from 0 to 27).

Enumerator
RSC_PRIMITIVE_RESTART | specifying a "-1" in the index buffer starts a new draw command.
RSC_AUTOMIPMAP_COMPRESSED | GL ES2/ES3 does not support generating mipmaps for compressed formats in hardware.
RSC_ANISOTROPY | Supports anisotropic texture filtering.
RSC_DEPTH_CLAMP | Supports depth clamping.
RSC_WIDE_LINES | Supports linewidth != 1.0.
RSC_HWSTENCIL | Supports hardware stencil buffer.
RSC_READ_WRITE_BUFFERS | Supports read/write buffers with atomic counters (e.g. RWStructuredBuffer or SSBO).
RSC_TEXTURE_COMPRESSION_ASTC | Supports compressed textures in the ASTC format.
RSC_32BIT_INDEX | Supports 32bit hardware index buffers.
RSC_VERTEX_PROGRAM | Supports vertex programs (vertex shaders). Deprecated All targeted APIs by Ogre support this feature
RSC_TESSELLATION_PROGRAM | Supports tessellation domain and hull programs.
RSC_TEXTURE_2D_ARRAY | Supports 2D Texture Arrays.
RSC_TWO_SIDED_STENCIL | Supports separate stencil updates for both front and back faces.
RSC_STENCIL_WRAP | Supports wrapping the stencil value at the range extremeties.
RSC_HWOCCLUSION | Supports hardware occlusion queries.
RSC_USER_CLIP_PLANES | Supports user clipping planes.
RSC_COMPUTE_PROGRAM | Supports hardware compute programs.
RSC_TEXTURE_1D | Supports 1d textures.
RSC_HWRENDER_TO_TEXTURE | Supports hardware render-to-texture (bigger than framebuffer).
RSC_TEXTURE_FLOAT | Supports float textures and render targets.
RSC_NON_POWER_OF_2_TEXTURES | Supports non-power of two textures.
RSC_TEXTURE_3D | Supports 3d (volume) textures.
RSC_POINT_SPRITES | Supports basic point sprite rendering.
RSC_POINT_EXTENDED_PARAMETERS | Deprecated same as RSC_POINT_SPRITES
RSC_HWRENDER_TO_VERTEX_BUFFER | Supports rendering to vertex buffers.
RSC_VERTEX_TEXTURE_FETCH | Deprecated use getNumVertexTextureUnits()
RSC_MIPMAP_LOD_BIAS | Supports mipmap LOD biasing.
RSC_GEOMETRY_PROGRAM | Supports hardware geometry programs.
RSC_VERTEX_FORMAT_16X3 | Supports unaligned VET_HALF3, VET_SHORT3, VET_USHORT3 formats.
RSC_TEXTURE_COMPRESSION | Supports compressed textures.
RSC_TEXTURE_COMPRESSION_DXT | Supports compressed textures in the DXT/ST3C formats.
RSC_TEXTURE_COMPRESSION_VTC | Supports compressed textures in the VTC format.
RSC_TEXTURE_COMPRESSION_PVRTC | Supports compressed textures in the PVRTC format.
RSC_TEXTURE_COMPRESSION_ATC | Supports compressed textures in the ATC format.
RSC_TEXTURE_COMPRESSION_ETC1 | Supports compressed textures in the ETC1 format.
RSC_TEXTURE_COMPRESSION_ETC2 | Supports compressed textures in the ETC2 format.
RSC_TEXTURE_COMPRESSION_BC4_BC5 | Supports compressed textures in BC4 and BC5 format (DirectX feature level 10_0).
RSC_TEXTURE_COMPRESSION_BC6H_BC7 | Supports compressed textures in BC6H and BC7 format (DirectX feature level 11_0).
RSC_FIXED_FUNCTION | Supports fixed-function pipeline.
RSC_VERTEX_FORMAT_INT_10_10_10_2 | Supports VET_INT_10_10_10_2_NORM.
RSC_ALPHA_TO_COVERAGE | Supports Alpha to Coverage (A2C).
RSC_CAN_GET_COMPILED_SHADER_BUFFER | Supports reading back compiled shaders.
RSC_HW_GAMMA | Supports HW gamma, both in the framebuffer and as texture.
RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE | Deprecated do not use
RSC_RTT_INDEPENDENT_BUFFER_SIZE | Supports attaching a buffer to a render target that is smaller than the buffer. Otherwise must be of exact same resolution. D3D 9, OGL 3.0 (not 2.0, not D3D10)
RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL | Deprecated use RSC_RTT_INDEPENDENT_BUFFER_SIZE
RSC_VERTEX_BUFFER_INSTANCE_DATA | Supports using vertex buffers for instance data.
RSC_MESH_PROGRAM | Supports mesh and task programs.
RSC_VP_RT_INDEX_ANY_SHADER | Supports setting viewport and rendertarget array index from any shader stage.
RSC_PERSTAGECONSTANT | Is DirectX feature "per stage constants" supported.
RSC_READ_BACK_AS_TEXTURE | D3D11: supports reading back the inactive depth-stencil buffer as texture.
RSC_WBUFFER | the renderer will try to use W-buffers when available W-buffers are enabled by default for 16bit depth buffers and disabled for all other depths.
RSC_HWOCCLUSION_ASYNCHRONOUS | D3D11: Supports asynchronous hardware occlusion queries.
RSC_HWRENDER_TO_TEXTURE_3D |
RSC_MRT_SAME_BIT_DEPTHS | All MRTs must have same bit depths.
RSC_PBUFFER | Support for PBuffer.
RSC_SEPARATE_SHADER_OBJECTS | Support for Separate Shader Objects.
RSC_VAO | Support for Vertex Array Objects (VAOs).
RSC_GLSL_SSO_REDECLARE | with Separate Shader Objects the gl_PerVertex interface block must be redeclared but some drivers misbehave and do not compile if we do so
RSC_DEBUG | Supports debugging/ profiling events.
RSC_MAPBUFFER | RS can map driver buffer storage directly instead of using a shadow buffer.
RSC_INFINITE_FAR_PLANE | Deprecated assume present
RSC_FRAGMENT_PROGRAM | Deprecated assume present
RSC_TESSELLATION_DOMAIN_PROGRAM |
RSC_TESSELLATION_HULL_PROGRAM |

## ◆ GPUVendor

enum Ogre::GPUVendor

Enumeration of GPU vendors.

Enumerator
GPU_UNKNOWN |
GPU_NVIDIA |
GPU_AMD |
GPU_INTEL |
GPU_IMAGINATION_TECHNOLOGIES |
GPU_APPLE | Apple Software Renderer.
GPU_NOKIA |
GPU_MS_SOFTWARE | Microsoft software device.
GPU_MS_WARP | Microsoft WARP (Windows Advanced Rasterization Platform) software device - http://msdn.microsoft.com/en-us/library/dd285359.aspx.
GPU_ARM | For the Mali chipsets.
GPU_QUALCOMM |
GPU_MOZILLA | WebGL on Mozilla/Firefox based browser.
GPU_WEBKIT | WebGL on WebKit/Chrome base browser
GPU_VENDOR_COUNT | placeholder

## Function Documentation

## ◆ DepthBuffer()

Ogre::DepthBuffer::DepthBuffer | ( | uint16 | poolId,
|  | uint32 | width,
|  | uint32 | height,
|  | uint32 | fsaa,
|  | bool | manual )

## ◆ ~DepthBuffer()

virtual Ogre::DepthBuffer::~DepthBuffer | ( |  | ) |
| virtual

## ◆ _setPoolId()

void Ogre::DepthBuffer::_setPoolId | ( | uint16 | poolId | ) |

Deprecated
  do not use

## ◆ getPoolId()

virtual uint16 Ogre::DepthBuffer::getPoolId | ( |  | ) | const
| virtual

Gets the pool id in which this DepthBuffer lives.

## ◆ getWidth()

virtual uint32 Ogre::DepthBuffer::getWidth | ( |  | ) | const
| virtual

## ◆ getHeight()

virtual uint32 Ogre::DepthBuffer::getHeight | ( |  | ) | const
| virtual

## ◆ getFSAA()

uint32 Ogre::DepthBuffer::getFSAA | ( |  | ) | const
| inline

## ◆ isManual()

bool Ogre::DepthBuffer::isManual | ( |  | ) | const

Manual DepthBuffers are cleared in RenderSystem's destructor.

Non-manual ones are released with it's render target (aka, a backbuffer or similar)

## ◆ isCompatible()

virtual bool Ogre::DepthBuffer::isCompatible | ( | RenderTarget * | renderTarget | ) | const
| virtual

Returns whether the specified RenderTarget is compatible with this DepthBuffer That is, this DepthBuffer can be attached to that RenderTarget.

Most APIs impose the following restrictions:

- Width & height must be equal or higher than the render target's
- They must be of the same bit depth.
- They need to have the same FSAA setting
  Parameters

    renderTarget | The render target to test against

## ◆ _notifyRenderTargetAttached()

virtual void Ogre::DepthBuffer::_notifyRenderTargetAttached | ( | RenderTarget * | renderTarget | ) |
| virtual

Called when a RenderTarget is attaches this DepthBuffer.

This function doesn't actually attach. It merely informs the DepthBuffer which RenderTarget did attach. The real attachment happens in RenderTarget::attachDepthBuffer()

Parameters

  renderTarget | The RenderTarget that has just been attached

## ◆ _notifyRenderTargetDetached()

virtual void Ogre::DepthBuffer::_notifyRenderTargetDetached | ( | RenderTarget * | renderTarget | ) |
| virtual

Called when a RenderTarget is detaches from this DepthBuffer.

Same as DepthBuffer::_notifyRenderTargetAttached()

Parameters

  renderTarget | The RenderTarget that has just been detached

## ◆ to_string() [1/2]

String Ogre::to_string | ( | GPUVendor | v | ) |
| inline

References Ogre::RenderSystemCapabilities::vendorToString().

## ◆ to_string() [2/2]

String Ogre::to_string | ( | const DriverVersion & | v | ) |
| inline

References Ogre::DriverVersion::toString().