Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# Ogre::RenderSystemCapabilities Class Reference

singleton class for storing the capabilities of the graphics card. More...

`#include <OgreRenderSystemCapabilities.h>`

List of all members.

## Public Methods

| RenderSystemCapabilities ()
| ~RenderSystemCapabilities ()
void | setNumWorldMatricies (ushort num)
void | setNumTextureUnits (ushort num)
void | setStencilBufferBitDepth (ushort num)
void | setNumVertexBlendMatrices (ushort num)
ushort | getNumWorldMatricies (void) const
ushort | getNumTextureUnits (void) const
| Returns the number of texture units the current output hardware supports.
ushort | getStencilBufferBitDepth (void) const
| Determines the bit depth of the hardware accelerated stencil buffer, if supported.
ushort | numVertexBlendMatrices (void) const
| Returns the number of matrices available to hardware vertex blending for this rendering system.
void | setCapability (const Capabilities c)
| Adds a capability flag to mCapabilities.
bool | hasCapability (const Capabilities c) const
| Checks for a capability.
const String & | getMaxVertexProgramVersion (void) const
| Gets the best low-level vertex program version supported.
const String & | getMaxFragmentProgramVersion (void) const
| Gets the best fragment program that this card / rendersystem supports.
ushort | getVertexProgramConstantFloatCount (void) const
| The number of floating-point constants vertex programs support.
ushort | getVertexProgramConstantIntCount (void) const
| The number of integer constants vertex programs support.
ushort | getVertexProgramConstantBoolCount (void) const
| The number of boolean constants vertex programs support.
ushort | getFragmentProgramConstantFloatCount (void) const
| The number of floating-point constants fragment programs support.
ushort | getFragmentProgramConstantIntCount (void) const
| The number of integer constants fragment programs support.
ushort | getFragmentProgramConstantBoolCount (void) const
| The number of boolean constants fragment programs support.
void | setMaxVertexProgramVersion (const String &ver)
| sets the best low-level vertex program version supported
void | setMaxFragmentProgramVersion (const String &ver)
| sets the best fragment program that this card / rendersystem supports
void | setVertexProgramConstantFloatCount (ushort c)
| The number of floating-point constants vertex programs support.
void | setVertexProgramConstantIntCount (ushort c)
| The number of integer constants vertex programs support.
void | setVertexProgramConstantBoolCount (ushort c)
| The number of boolean constants vertex programs support.
void | setFragmentProgramConstantFloatCount (ushort c)
| The number of floating-point constants fragment programs support.
void | setFragmentProgramConstantIntCount (ushort c)
| The number of integer constants fragment programs support.
void | setFragmentProgramConstantBoolCount (ushort c)
| The number of boolean constants fragment programs support.
void | log (Log *pLog)
| Write the capabilities to the pass in Log.

## Private Attributes

ushort | mNumWorldMatrices
| The number of world matricies available.
ushort | mNumTextureUnits
| The number of texture units available.
ushort | mStencilBufferBitDepth
| The stencil buffer bit depth.
ushort | mNumVertexBlendMatrices
| The number of matrices available for hardware blending.
int | mCapabilities
| Stores the capabilities flags.
String | mMaxVertexProgramVersion
| The best vertex program that this card / rendersystem supports.
String | mMaxFragmentProgramVersion
| The best fragment program that this card / rendersystem supports.
ushort | mVertexProgramConstantFloatCount
| The number of floating-point constants vertex programs support.
ushort | mVertexProgramConstantIntCount
| The number of integer constants vertex programs support.
ushort | mVertexProgramConstantBoolCount
| The number of boolean constants vertex programs support.
ushort | mFragmentProgramConstantFloatCount
| The number of floating-point constants fragment programs support.
ushort | mFragmentProgramConstantIntCount
| The number of integer constants fragment programs support.
ushort | mFragmentProgramConstantBoolCount
| The number of boolean constants fragment programs support.

## Detailed Description

singleton class for storing the capabilities of the graphics card.

Remarks:
  This class stores the capabilities of the graphics card. This information is set by the individual render systems.

Definition at line 83 of file OgreRenderSystemCapabilities.h.

## Constructor & Destructor Documentation

Ogre::RenderSystemCapabilities::RenderSystemCapabilities | ( |  | ) |

| Definition at line 35 of file OgreRenderSystemCapabilities.cpp.

Ogre::RenderSystemCapabilities::~RenderSystemCapabilities | ( |  | ) |

| Definition at line 41 of file OgreRenderSystemCapabilities.cpp.

## Member Function Documentation

ushort Ogre::RenderSystemCapabilities::getFragmentProgramConstantBoolCount | ( | void |  | ) | const

| The number of boolean constants fragment programs support. Definition at line 231 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getFragmentProgramConstantFloatCount | ( | void |  | ) | const

| The number of floating-point constants fragment programs support. Definition at line 221 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getFragmentProgramConstantIntCount | ( | void |  | ) | const

| The number of integer constants fragment programs support. Definition at line 226 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

const String& Ogre::RenderSystemCapabilities::getMaxFragmentProgramVersion | ( | void |  | ) | const

| Gets the best fragment program that this card / rendersystem supports. Definition at line 201 of file OgreRenderSystemCapabilities.h. References Ogre::String. Referenced by log().

const String& Ogre::RenderSystemCapabilities::getMaxVertexProgramVersion | ( | void |  | ) | const

| Gets the best low-level vertex program version supported. Definition at line 196 of file OgreRenderSystemCapabilities.h. References Ogre::String. Referenced by log().

ushort Ogre::RenderSystemCapabilities::getNumTextureUnits | ( | void |  | ) | const

Returns the number of texture units the current output hardware supports.

For use in rendering, this determines how many texture units the are available for multitexturing (i.e. rendering multiple textures in a single pass). Where a Material has multiple texture layers, it will try to use multitexturing where available, and where it is not available, will perform multipass rendering to achieve the same effect.

Definition at line 152 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

Referenced by Ogre::Technique::_compile(), Ogre::RenderSystem::_disableTextureUnitsFrom(), and Ogre::GLRenderSystem::_render().

ushort Ogre::RenderSystemCapabilities::getNumWorldMatricies | ( | void |  | ) | const

| Definition at line 137 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getStencilBufferBitDepth | ( | void |  | ) | const

Determines the bit depth of the hardware accelerated stencil buffer, if supported.

Remarks:
  If hardware stencilling is not supported, the software will provide an 8-bit software stencil.

Definition at line 163 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

Referenced by log().

ushort Ogre::RenderSystemCapabilities::getVertexProgramConstantBoolCount | ( | void |  | ) | const

| The number of boolean constants vertex programs support. Definition at line 216 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getVertexProgramConstantFloatCount | ( | void |  | ) | const

| The number of floating-point constants vertex programs support. Definition at line 206 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getVertexProgramConstantIntCount | ( | void |  | ) | const

| The number of integer constants vertex programs support. Definition at line 211 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

bool Ogre::RenderSystemCapabilities::hasCapability | ( | const Capabilities | c | ) | const

Checks for a capability.

Definition at line 184 of file OgreRenderSystemCapabilities.h.

References Ogre::Capabilities.

Referenced by Ogre::Technique::_compile(), Ogre::GLRenderSystem::_render(), Ogre::SceneManager::_renderScene(), Ogre::GLRenderSystem::_setTextureBlendMode(), Ogre::GLRenderSystem::_setTextureLayerAnisotropy(), Ogre::D3D9RenderSystem::clearFrameBuffer(), Ogre::D3DRenderSystem::clearFrameBuffer(), Ogre::D3D9RenderSystem::initCapabilities(), Ogre::SceneManager::initShadowVolumeMaterials(), log(), Ogre::VertexData::prepareForShadowVolume(), Ogre::SceneManager::renderShadowVolumesToStencil(), Ogre::SceneManager::setShadowTechnique(), Ogre::GLRenderSystem::setStencilBufferParams(), Ogre::D3D9RenderSystem::setStencilBufferParams(), Ogre::TerrainSceneManager::setupTerrainMaterial(), and Ogre::TerrainSceneManager::setUseLODMorph().

void Ogre::RenderSystemCapabilities::log | ( | Log * | pLog | ) |

Write the capabilities to the pass in Log.

Definition at line 45 of file OgreRenderSystemCapabilities.cpp.

References getMaxFragmentProgramVersion(), getMaxVertexProgramVersion(), getStencilBufferBitDepth(), hasCapability(), Ogre::Log::logMessage(), Ogre::RSC_ANISOTROPY, Ogre::RSC_AUTOMIPMAP, Ogre::RSC_BLENDING, Ogre::RSC_CUBEMAPPING, Ogre::RSC_DOT3, Ogre::RSC_FRAGMENT_PROGRAM, Ogre::RSC_HWOCCLUSION, Ogre::RSC_HWSTENCIL, Ogre::RSC_INFINITE_FAR_PLANE, Ogre::RSC_SCISSOR_TEST, Ogre::RSC_STENCIL_WRAP, Ogre::RSC_TEXTURE_COMPRESSION, Ogre::RSC_TEXTURE_COMPRESSION_DXT, Ogre::RSC_TEXTURE_COMPRESSION_VTC, Ogre::RSC_TWO_SIDED_STENCIL, Ogre::RSC_USER_CLIP_PLANES, Ogre::RSC_VBO, Ogre::RSC_VERTEX_FORMAT_UBYTE4, and Ogre::RSC_VERTEX_PROGRAM.

Referenced by Ogre::D3DRenderSystem::createRenderWindow(), Ogre::D3D9RenderSystem::initCapabilities(), and Ogre::GLRenderSystem::initGL().

ushort Ogre::RenderSystemCapabilities::numVertexBlendMatrices | ( | void |  | ) | const

| Returns the number of matrices available to hardware vertex blending for this rendering system. Definition at line 170 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

void Ogre::RenderSystemCapabilities::setCapability | ( | const Capabilities | c | ) |

| Adds a capability flag to mCapabilities. Definition at line 177 of file OgreRenderSystemCapabilities.h. References Ogre::Capabilities. Referenced by Ogre::D3D9RenderSystem::convertPixelShaderCaps(), Ogre::D3D9RenderSystem::convertVertexShaderCaps(), Ogre::D3DRenderSystem::createRenderWindow(), Ogre::D3D9RenderSystem::initCapabilities(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setFragmentProgramConstantBoolCount | ( | ushort | c | ) |

| The number of boolean constants fragment programs support. Definition at line 274 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3D9RenderSystem::convertPixelShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setFragmentProgramConstantFloatCount | ( | ushort | c | ) |

| The number of floating-point constants fragment programs support. Definition at line 264 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3D9RenderSystem::convertPixelShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setFragmentProgramConstantIntCount | ( | ushort | c | ) |

| The number of integer constants fragment programs support. Definition at line 269 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3D9RenderSystem::convertPixelShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setMaxFragmentProgramVersion | ( | const String & | ver | ) |

| sets the best fragment program that this card / rendersystem supports Definition at line 244 of file OgreRenderSystemCapabilities.h. References Ogre::String. Referenced by Ogre::D3D9RenderSystem::convertPixelShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setMaxVertexProgramVersion | ( | const String & | ver | ) |

| sets the best low-level vertex program version supported Definition at line 239 of file OgreRenderSystemCapabilities.h. References Ogre::String. Referenced by Ogre::D3D9RenderSystem::convertVertexShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setNumTextureUnits | ( | ushort | num | ) |

| Definition at line 122 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3DRenderSystem::createRenderWindow(), Ogre::D3D9RenderSystem::initCapabilities(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setNumVertexBlendMatrices | ( | ushort | num | ) |

| Definition at line 132 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

void Ogre::RenderSystemCapabilities::setNumWorldMatricies | ( | ushort | num | ) |

| Definition at line 117 of file OgreRenderSystemCapabilities.h. References Ogre::ushort.

void Ogre::RenderSystemCapabilities::setStencilBufferBitDepth | ( | ushort | num | ) |

| Definition at line 127 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3DRenderSystem::createRenderWindow(), Ogre::D3D9RenderSystem::initCapabilities(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setVertexProgramConstantBoolCount | ( | ushort | c | ) |

| The number of boolean constants vertex programs support. Definition at line 259 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3D9RenderSystem::convertVertexShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setVertexProgramConstantFloatCount | ( | ushort | c | ) |

| The number of floating-point constants vertex programs support. Definition at line 249 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3D9RenderSystem::convertVertexShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setVertexProgramConstantIntCount | ( | ushort | c | ) |

| The number of integer constants vertex programs support. Definition at line 254 of file OgreRenderSystemCapabilities.h. References Ogre::ushort. Referenced by Ogre::D3D9RenderSystem::convertVertexShaderCaps(), and Ogre::GLRenderSystem::initGL().

## Member Data Documentation

int Ogre::RenderSystemCapabilities::mCapabilities`[private]`

| Stores the capabilities flags. Definition at line 95 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mFragmentProgramConstantBoolCount`[private]`

| The number of boolean constants fragment programs support. Definition at line 111 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mFragmentProgramConstantFloatCount`[private]`

| The number of floating-point constants fragment programs support. Definition at line 107 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mFragmentProgramConstantIntCount`[private]`

| The number of integer constants fragment programs support. Definition at line 109 of file OgreRenderSystemCapabilities.h.

String Ogre::RenderSystemCapabilities::mMaxFragmentProgramVersion`[private]`

| The best fragment program that this card / rendersystem supports. Definition at line 99 of file OgreRenderSystemCapabilities.h.

String Ogre::RenderSystemCapabilities::mMaxVertexProgramVersion`[private]`

| The best vertex program that this card / rendersystem supports. Definition at line 97 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumTextureUnits`[private]`

| The number of texture units available. Definition at line 89 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumVertexBlendMatrices`[private]`

| The number of matrices available for hardware blending. Definition at line 93 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumWorldMatrices`[private]`

| The number of world matricies available. Definition at line 87 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mStencilBufferBitDepth`[private]`

| The stencil buffer bit depth. Definition at line 91 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mVertexProgramConstantBoolCount`[private]`

| The number of boolean constants vertex programs support. Definition at line 105 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mVertexProgramConstantFloatCount`[private]`

| The number of floating-point constants vertex programs support. Definition at line 101 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mVertexProgramConstantIntCount`[private]`

| The number of integer constants vertex programs support. Definition at line 103 of file OgreRenderSystemCapabilities.h.

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

- OgreRenderSystemCapabilities.h
- OgreRenderSystemCapabilities.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:29 2004