RenderSystem
Core
Collaboration diagram for RenderSystem:

## Classes

class | Ogre::DefaultHardwareVertexBuffer
| Specialisation of HardwareVertexBuffer for emulation. More...
class | Ogre::DefaultHardwareIndexBuffer
| Specialisation of HardwareIndexBuffer for emulation. More...
class | Ogre::DefaultHardwareBufferManagerBase
| Specialisation of HardwareBufferManagerBase to emulate hardware buffers. More...
class | Ogre::DefaultHardwareBufferManager
| DefaultHardwareBufferManager as a Singleton. More...
class | Ogre::DepthBuffer
| An abstract class that contains a depth/stencil buffer. More...
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...
class | Ogre::TempBlendedBufferInfo
| Structure for recording the use of temporary blend buffers. More...
class | Ogre::HardwareBufferManagerBase
| Base definition of a hardware buffer manager. More...
class | Ogre::HardwareBufferManager
| Singleton wrapper for hardware buffer manager. More...
class | Ogre::HardwareIndexBuffer
| Specialisation of HardwareBuffer for vertex index buffers, still abstract. More...
class | Ogre::HardwareIndexBufferSharedPtr
| Shared pointer implementation used to share index buffers. More...
class | Ogre::HardwareOcclusionQuery
| This is a abstract class that that provides the interface for the query class for hardware occlusion. More...
class | Ogre::HardwarePixelBuffer
| Specialisation of HardwareBuffer for a pixel buffer. More...
class | Ogre::HardwarePixelBufferSharedPtr
| Shared pointer implementation used to share pixel buffers. More...
class | Ogre::HardwareVertexBuffer
| Specialisation of HardwareBuffer for a vertex buffer. More...
class | Ogre::HardwareVertexBufferSharedPtr
| Shared pointer implementation used to share index buffers. More...
class | Ogre::VertexElement
| This class declares the usage of a single vertex buffer as a component of a complete VertexDeclaration. 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::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::RenderOperation
| 'New' rendering operation using vertex buffers. More...
class | Ogre::RenderQueue
| Class to manage the scene object rendering queue. More...
class | Ogre::RenderQueueInvocation
| Class representing the invocation of queue groups in a RenderQueue. More...
class | Ogre::RenderQueueInvocationSequence
| Class to hold a linear sequence of RenderQueueInvocation objects. More...
class | Ogre::RenderQueueListener
| Abstract interface which classes must implement if they wish to receive events from the render queue. More...
struct | Ogre::RenderablePass
| Struct associating a single Pass with a single Renderable. More...
class | Ogre::QueuedRenderableVisitor
| Visitor interface for items in a QueuedRenderableCollection. More...
class | Ogre::QueuedRenderableCollection
| Lowest level collection of renderables. More...
class | Ogre::RenderPriorityGroup
| Collection of renderables by priority. 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::RenderSystem
| Defines the functionality of a 3D API. More...
struct | Ogre::DriverVersion
| DriverVersion is used by RenderSystemCapabilities and both GL and D3D9 to store the version of the current GPU driver. More...
class | Ogre::RenderSystemCapabilities
| singleton class for storing 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...
struct | Ogre::RenderTargetViewportEvent
| Struct containing information about a RenderTarget Viewport-specific event. More...
class | Ogre::RenderTargetListener
| A interface class defining a listener which can be used to receive notifications of RenderTarget events. More...
class | Ogre::RenderTexture
| This class represents a RenderTarget that renders to a Texture. More...
class | Ogre::MultiRenderTarget
| This class represents a render target that renders to multiple RenderTextures at once. More...
class | Ogre::RenderToVertexBuffer
| An object which renders geometry to a vertex. More...
class | Ogre::RenderWindow
| Manages the target rendering window. More...
class | Ogre::VertexData
| Summary class collecting together vertex source information. More...
class | Ogre::IndexData
| Summary class collecting together index data source information. More...
class | Ogre::VertexCacheProfiler
| Vertex cache profiler. More...
class | Ogre::Viewport
| An abstraction of a viewport, i.e. More...
class | Ogre::WindowEventListener
class | Ogre::WindowEventUtilities

## Defines

#define | OGRE_RENDERABLE_DEFAULT_PRIORITY 100

## Typedefs

typedef set< RenderTarget * >::type | Ogre::DepthBuffer::RenderTargetSet
typedef vector < RenderQueueInvocation * > ::type | Ogre::RenderQueueInvocationList
| List of RenderQueueInvocations.
typedef VectorIterator < RenderQueueInvocationList > | Ogre::RenderQueueInvocationIterator
typedef vector< DepthBuffer * > ::type | Ogre::DepthBufferVec
typedef map< uint16, DepthBufferVec >::type | Ogre::DepthBufferMap
typedef map< String, RenderTarget * >::type | Ogre::RenderTargetMap
typedef multimap< uchar, RenderTarget * >::type | Ogre::RenderTargetPriorityMap
typedef SharedPtr < RenderToVertexBuffer > | Ogre::RenderToVertexBufferSharedPtr
typedef vector < HardwareBuffer::Usage > ::type | Ogre::BufferUsageList
| Define a list of usage flags.

## Enumerations

enum | Ogre::DepthBuffer::PoolId { Ogre::DepthBuffer::POOL_NO_DEPTH = 0, Ogre::DepthBuffer::POOL_MANUAL_USAGE = 0, Ogre::DepthBuffer::POOL_DEFAULT = 1 }
enum | Ogre::VertexElementSemantic { Ogre::VES_POSITION = 1, Ogre::VES_BLEND_WEIGHTS = 2, Ogre::VES_BLEND_INDICES = 3, Ogre::VES_NORMAL = 4, Ogre::VES_DIFFUSE = 5, Ogre::VES_SPECULAR = 6, Ogre::VES_TEXTURE_COORDINATES = 7, Ogre::VES_BINORMAL = 8, Ogre::VES_TANGENT = 9, Ogre::VES_COUNT = 9 }
| Vertex element semantics, used to identify the meaning of vertex buffer contents. More...
enum | Ogre::VertexElementType { Ogre::VET_FLOAT1 = 0, Ogre::VET_FLOAT2 = 1, Ogre::VET_FLOAT3 = 2, Ogre::VET_FLOAT4 = 3, Ogre::VET_COLOUR = 4, Ogre::VET_SHORT1 = 5, Ogre::VET_SHORT2 = 6, Ogre::VET_SHORT3 = 7, Ogre::VET_SHORT4 = 8, Ogre::VET_UBYTE4 = 9, Ogre::VET_COLOUR_ARGB = 10, Ogre::VET_COLOUR_ABGR = 11 }
| Vertex element type, used to identify the base types of the vertex contents. More...

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_9 = 90, Ogre::RENDER_QUEUE_SKIES_LATE = 95, Ogre::RENDER_QUEUE_OVERLAY = 100, Ogre::RENDER_QUEUE_MAX = 105
}

| 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::TexCoordCalcMethod { 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::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 onthe stencil buffer. 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_COUNT = 4 }
| Enumerates the categories of capabilities. More...

enum

Ogre::Capabilities {
Ogre::RSC_AUTOMIPMAP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 0), Ogre::RSC_BLENDING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 1), Ogre::RSC_ANISOTROPY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 2), Ogre::RSC_DOT3 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 3),
Ogre::RSC_CUBEMAPPING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 4), Ogre::RSC_HWSTENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 5), Ogre::RSC_VBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 7), Ogre::RSC_VERTEX_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 9),
Ogre::RSC_FRAGMENT_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 10), Ogre::RSC_SCISSOR_TEST = 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_VERTEX_FORMAT_UBYTE4 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 16), Ogre::RSC_INFINITE_FAR_PLANE = 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 = 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_HWRENDER_TO_VERTEX_BUFFER = 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_FIXED_FUNCTION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 4), Ogre::RSC_MRT_DIFFERENT_BIT_DEPTHS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 5),
Ogre::RSC_ALPHA_TO_COVERAGE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 6), Ogre::RSC_ADVANCED_BLEND_OPERATIONS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 7), Ogre::RSC_RTT_SEPARATE_DEPTHBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 8), Ogre::RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 9),
Ogre::RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 10), Ogre::RSC_VERTEX_BUFFER_INSTANCE_DATA = 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_PERSTAGECONSTANT = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 0),
Ogre::RSC_GL1_5_NOVBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 1), Ogre::RSC_FBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 2), Ogre::RSC_FBO_ARB = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 3), Ogre::RSC_FBO_ATI = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 4),
Ogre::RSC_PBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 5), Ogre::RSC_GL1_5_NOHWOCCLUSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 6), Ogre::RSC_POINT_EXTENDED_PARAMETERS_ARB = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 7), Ogre::RSC_POINT_EXTENDED_PARAMETERS_EXT = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 8),
Ogre::RSC_SEPARATE_SHADER_OBJECTS = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 9)
}

| Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability. More...
enum | Ogre::GPUVendor { Ogre::GPU_UNKNOWN = 0, Ogre::GPU_NVIDIA = 1, Ogre::GPU_ATI = 2, Ogre::GPU_INTEL = 3, Ogre::GPU_S3 = 4, Ogre::GPU_MATROX = 5, Ogre::GPU_3DLABS = 6, Ogre::GPU_SIS = 7, Ogre::GPU_IMAGINATION_TECHNOLOGIES = 8, Ogre::GPU_APPLE = 9, Ogre::GPU_NOKIA = 10, Ogre::GPU_MS_SOFTWARE = 11, Ogre::GPU_MS_WARP = 12, Ogre::GPU_VENDOR_COUNT = 13 }
| Enumeration of GPU vendors. More...

## Functions

| Ogre::DepthBuffer::DepthBuffer (uint16 poolId, uint16 bitDepth, uint32 width, uint32 height, uint32 fsaa, const String &fsaaHint, bool manual)
virtual | Ogre::DepthBuffer::~DepthBuffer ()
void | Ogre::DepthBuffer::_setPoolId (uint16 poolId)
virtual uint16 | Ogre::DepthBuffer::getPoolId () const
virtual uint16 | Ogre::DepthBuffer::getBitDepth () const
virtual uint32 | Ogre::DepthBuffer::getWidth () const
virtual uint32 | Ogre::DepthBuffer::getHeight () const
virtual uint32 | Ogre::DepthBuffer::getFsaa () const
virtual const String & | Ogre::DepthBuffer::getFsaaHint () const
bool | Ogre::DepthBuffer::isManual () 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.
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::detachFromAllRenderTargets ()

## Variables

uint16 | Ogre::DepthBuffer::mPoolId
uint16 | Ogre::DepthBuffer::mBitDepth
uint32 | Ogre::DepthBuffer::mWidth
uint32 | Ogre::DepthBuffer::mHeight
uint32 | Ogre::DepthBuffer::mFsaa
String | Ogre::DepthBuffer::mFsaaHint
bool | Ogre::DepthBuffer::mManual
RenderTargetSet | Ogre::DepthBuffer::mAttachedRenderTargets

## Define Documentation

#define OGRE_RENDERABLE_DEFAULT_PRIORITY 100

Definition at line 79 of file OgreRenderQueue.h.

## Typedef Documentation

typedef vector<HardwareBuffer::Usage>::type Ogre::BufferUsageList

Define a list of usage flags.

Definition at line 44 of file OgreVertexIndexData.h.

typedef map< uint16, DepthBufferVec >::type Ogre::DepthBufferMap

Definition at line 60 of file OgreRenderSystem.h.

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

Definition at line 59 of file OgreRenderSystem.h.

typedef VectorIterator<RenderQueueInvocationList> Ogre::RenderQueueInvocationIterator

Definition at line 161 of file OgreRenderQueueInvocation.h.

typedef vector<RenderQueueInvocation*>::type Ogre::RenderQueueInvocationList

List of RenderQueueInvocations.

Definition at line 160 of file OgreRenderQueueInvocation.h.

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

Definition at line 61 of file OgreRenderSystem.h.

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

Definition at line 62 of file OgreRenderSystem.h.

typedef set<RenderTarget*>::type Ogre::DepthBuffer::RenderTargetSet `[protected]`

Definition at line 139 of file OgreDepthBuffer.h.

typedef SharedPtr<RenderToVertexBuffer> Ogre::RenderToVertexBufferSharedPtr

Definition at line 146 of file OgreRenderToVertexBuffer.h.

## Enumeration Type Documentation

enum Ogre::Capabilities

Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability.

Enumerator:

  RSC_AUTOMIPMAP | Supports generating mipmaps in hardware.
  RSC_BLENDING |
  RSC_ANISOTROPY | Supports anisotropic texture filtering.
  RSC_DOT3 | Supports fixed-function DOT3 texture blend.
  RSC_CUBEMAPPING | Supports cube mapping.
  RSC_HWSTENCIL | Supports hardware stencil buffer.
  RSC_VBO | Supports hardware vertex and index buffers.
  RSC_VERTEX_PROGRAM | Supports vertex programs (vertex shaders)
  RSC_FRAGMENT_PROGRAM | Supports fragment programs (pixel shaders)
  RSC_SCISSOR_TEST | Supports performing a scissor test to exclude areas of the screen.
  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_VERTEX_FORMAT_UBYTE4 | Supports the VET_UBYTE4 vertex element type.
  RSC_INFINITE_FAR_PLANE | Supports infinite far plane projection.
  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 | Supports extra point parameters (minsize, maxsize, attenuation)
  RSC_VERTEX_TEXTURE_FETCH | Supports vertex texture fetch.
  RSC_MIPMAP_LOD_BIAS | Supports mipmap LOD biasing.
  RSC_GEOMETRY_PROGRAM | Supports hardware geometry programs.
  RSC_HWRENDER_TO_VERTEX_BUFFER | Supports rendering to vertex buffers.
  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_FIXED_FUNCTION | Supports fixed-function pipeline.
  RSC_MRT_DIFFERENT_BIT_DEPTHS | Supports MRTs with different bit depths.
  RSC_ALPHA_TO_COVERAGE | Supports Alpha to Coverage (A2C)
  RSC_ADVANCED_BLEND_OPERATIONS | Supports Blending operations other than +.
  RSC_RTT_SEPARATE_DEPTHBUFFER | Supports a separate depth buffer for RTTs. D3D 9 & 10, OGL w/FBO (RSC_FBO implies this flag)
  RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE | Supports using the MAIN depth buffer for RTTs. D3D 9&10, OGL w/FBO support unknown (undefined behavior?), OGL w/ copy supports it
  RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL | Supports attaching a depth buffer to an RTT that has width & height less or equal than RTT's. Otherwise must be of _exact_ same resolution. D3D 9, OGL 3.0 (not 2.0, not D3D10)
  RSC_VERTEX_BUFFER_INSTANCE_DATA | Supports using vertex buffers for instance data.
  RSC_CAN_GET_COMPILED_SHADER_BUFFER | Supports using vertex buffers for instance data.
  RSC_PERSTAGECONSTANT | Is DirectX feature "per stage constants" supported.
  RSC_GL1_5_NOVBO | Supports openGL GLEW version 1.5.
  RSC_FBO | Support for Frame Buffer Objects (FBOs)
  RSC_FBO_ARB | Support for Frame Buffer Objects ARB implementation (regular FBO is higher precedence)
  RSC_FBO_ATI | Support for Frame Buffer Objects ATI implementation (ARB FBO is higher precedence)
  RSC_PBUFFER | Support for PBuffer.
  RSC_GL1_5_NOHWOCCLUSION | Support for GL 1.5 but without HW occlusion workaround.
  RSC_POINT_EXTENDED_PARAMETERS_ARB | Support for point parameters ARB implementation.
  RSC_POINT_EXTENDED_PARAMETERS_EXT | Support for point parameters EXT implementation.
  RSC_SEPARATE_SHADER_OBJECTS | Support for Separate Shader Objects.

Definition at line 76 of file OgreRenderSystemCapabilities.h.

enum Ogre::CapabilitiesCategory

Enumerates the categories of capabilities.

Enumerator:

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

Definition at line 62 of file OgreRenderSystemCapabilities.h.

enum Ogre::GPUVendor

Enumeration of GPU vendors.

Enumerator:

  GPU_UNKNOWN |
  GPU_NVIDIA |
  GPU_ATI |
  GPU_INTEL |
  GPU_S3 |
  GPU_MATROX |
  GPU_3DLABS |
  GPU_SIS |
  GPU_IMAGINATION_TECHNOLOGIES |
  GPU_APPLE |
  GPU_NOKIA |
  GPU_MS_SOFTWARE |
  GPU_MS_WARP |
  GPU_VENDOR_COUNT | placeholder

Definition at line 223 of file OgreRenderSystemCapabilities.h.

enum Ogre::DepthBuffer::PoolId

Enumerator:

  POOL_NO_DEPTH |
  POOL_MANUAL_USAGE |
  POOL_DEFAULT |

Definition at line 84 of file OgreDepthBuffer.h.

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.

Remarks:
  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_9 |
  RENDER_QUEUE_SKIES_LATE | Penultimate queue(before overlays), used for skyboxes if rendered last.
  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.

Definition at line 53 of file OgreRenderQueue.h.

enum Ogre::StencilOperation

Enum describing the various actions which can be taken onthe 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.

Definition at line 80 of file OgreRenderSystem.h.

enum Ogre::TexCoordCalcMethod

Enum describing the ways to generate texture coordinates.

Enumerator:

  TEXCALC_NONE | No calculated texture coordinates.
  TEXCALC_ENVIRONMENT_MAP | Environment map based on vertex normals.
  TEXCALC_ENVIRONMENT_MAP_PLANAR | Environment map based on vertex positions.
  TEXCALC_ENVIRONMENT_MAP_REFLECTION |
  TEXCALC_ENVIRONMENT_MAP_NORMAL |
  TEXCALC_PROJECTIVE_TEXTURE | Projective texture.

Definition at line 66 of file OgreRenderSystem.h.

enum Ogre::VertexElementSemantic

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

Enumerator:

  VES_POSITION | Position, 3 reals per vertex.
  VES_BLEND_WEIGHTS | Blending weights.
  VES_BLEND_INDICES | Blending indices.
  VES_NORMAL | Normal, 3 reals per vertex.
  VES_DIFFUSE | Diffuse colours.
  VES_SPECULAR | Specular colours.
  VES_TEXTURE_COORDINATES | Texture coordinates.
  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)

Definition at line 95 of file OgreHardwareVertexBuffer.h.

enum Ogre::VertexElementType

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

Enumerator:

  VET_FLOAT1 |
  VET_FLOAT2 |
  VET_FLOAT3 |
  VET_FLOAT4 |
  VET_COLOUR | alias to more specific colour type - use the current rendersystem's colour packing
  VET_SHORT1 |
  VET_SHORT2 |
  VET_SHORT3 |
  VET_SHORT4 |
  VET_UBYTE4 |
  VET_COLOUR_ARGB | D3D style compact colour.
  VET_COLOUR_ABGR | GL style compact colour.

Definition at line 119 of file OgreHardwareVertexBuffer.h.

## Function Documentation

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

Called when a RenderTarget is attaches this DepthBuffer.

Remarks:
  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

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

Called when a RenderTarget is detaches from this DepthBuffer.

Remarks:
  Same as DepthBuffer::_notifyRenderTargetAttached()

Parameters:

  renderTarget | The RenderTarget that has just been attached

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

Ogre::DepthBuffer::DepthBuffer | ( | uint16 | poolId,
|  | uint16 | bitDepth,
|  | uint32 | width,
|  | uint32 | height,
|  | uint32 | fsaa,
|  | const String & | fsaaHint,
|  | bool | manual
| ) |  |

void Ogre::DepthBuffer::detachFromAllRenderTargets | ( |  | ) | `[protected]`

virtual uint16 Ogre::DepthBuffer::getBitDepth | ( |  | ) | const`[virtual]`

virtual uint32 Ogre::DepthBuffer::getFsaa | ( |  | ) | const`[virtual]`

virtual const String& Ogre::DepthBuffer::getFsaaHint | ( |  | ) | const`[virtual]`

virtual uint32 Ogre::DepthBuffer::getHeight | ( |  | ) | const`[virtual]`

virtual uint16 Ogre::DepthBuffer::getPoolId | ( |  | ) | const`[virtual]`

virtual uint32 Ogre::DepthBuffer::getWidth | ( |  | ) | const`[virtual]`

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.

Remarks:
  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

Reimplemented in Ogre::GLES2DepthBuffer, Ogre::GLESDepthBuffer, Ogre::GLDepthBuffer, Ogre::D3D11DepthBuffer, and Ogre::D3D9DepthBuffer.

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

virtual Ogre::DepthBuffer::~DepthBuffer | ( |  | ) | `[virtual]`

## Variable Documentation

RenderTargetSet Ogre::DepthBuffer::mAttachedRenderTargets `[protected]`

Definition at line 149 of file OgreDepthBuffer.h.

uint16 Ogre::DepthBuffer::mBitDepth `[protected]`

Definition at line 142 of file OgreDepthBuffer.h.

uint32 Ogre::DepthBuffer::mFsaa `[protected]`

Definition at line 145 of file OgreDepthBuffer.h.

String Ogre::DepthBuffer::mFsaaHint `[protected]`

Definition at line 146 of file OgreDepthBuffer.h.

uint32 Ogre::DepthBuffer::mHeight `[protected]`

Definition at line 144 of file OgreDepthBuffer.h.

bool Ogre::DepthBuffer::mManual `[protected]`

Definition at line 148 of file OgreDepthBuffer.h.

uint16 Ogre::DepthBuffer::mPoolId `[protected]`

Definition at line 141 of file OgreDepthBuffer.h.

uint32 Ogre::DepthBuffer::mWidth `[protected]`

Definition at line 143 of file OgreDepthBuffer.h.

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:25