# Ogre::RenderSystemCapabilities Class Reference

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

`#include <OgreRenderSystemCapabilities.h>`

List of all members.

## Public Member Functions

| RenderSystemCapabilities ()
| ~RenderSystemCapabilities ()
void | setNumWorldMatricies (ushort num)
void | setNumTextureUnits (ushort num)
void | setStencilBufferBitDepth (ushort num)
void | setNumVertexBlendMatrices (ushort num)
void | setNumMultiRenderTargets (ushort num)
| The number of simultaneous render targets supported.
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.
ushort | numMultiRenderTargets (void) const
| The number of simultaneous render targets supported.
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 | setMaxPointSize (Real s)
| Maximum point screen size in pixels.
Real | getMaxPointSize (void) const
| Maximum point screen size in pixels.
void | setNonPOW2TexturesLimited (bool l)
| Non-POW2 textures limited.
bool | getNonPOW2TexturesLimited (void) const
| Are non-power of two textures limited in features?
void | setNumVertexTextureUnits (ushort n)
| Set the number of vertex texture units supported.
ushort | getNumVertexTextureUnits (void) const
| Get the number of vertex texture units supported.
void | setVertexTextureUnitsShared (bool shared)
| Set whether the vertex texture units are shared with the fragment processor.
bool | getVertexTextureUnitsShared (void) const
| Get whether the vertex texture units are shared with the fragment processor.
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.
ushort | mNumMultiRenderTargets
| The number of simultaneous render targets supported.
Real | mMaxPointSize
| The maximum point size.
bool | mNonPOW2TexturesLimited
| Are non-POW2 textures feature-limited?
ushort | mNumVertexTextureUnits
| The number of vertex texture units supported.
bool | mVertexTextureUnitsShared
| Are vertex texture units shared with fragment processor?

## 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 103 of file OgreRenderSystemCapabilities.h.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

Definition at line 147 of file OgreRenderSystemCapabilities.h.

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

Definition at line 152 of file OgreRenderSystemCapabilities.h.

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

Definition at line 157 of file OgreRenderSystemCapabilities.h.

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

Definition at line 162 of file OgreRenderSystemCapabilities.h.

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

The number of simultaneous render targets supported.

Definition at line 168 of file OgreRenderSystemCapabilities.h.

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

Definition at line 173 of file OgreRenderSystemCapabilities.h.

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. This property only applies to the fixed-function pipeline, the number available to the programmable pipeline depends on the shader model in use.

Definition at line 190 of file OgreRenderSystemCapabilities.h.

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 201 of file OgreRenderSystemCapabilities.h.

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

Returns the number of matrices available to hardware vertex blending for this rendering system.

Definition at line 208 of file OgreRenderSystemCapabilities.h.

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

The number of simultaneous render targets supported.

Definition at line 214 of file OgreRenderSystemCapabilities.h.

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

Adds a capability flag to mCapabilities.

Definition at line 221 of file OgreRenderSystemCapabilities.h.

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

Checks for a capability.

Definition at line 228 of file OgreRenderSystemCapabilities.h.

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

Gets the best low-level vertex program version supported.

Definition at line 240 of file OgreRenderSystemCapabilities.h.

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

Gets the best fragment program that this card / rendersystem supports.

Definition at line 245 of file OgreRenderSystemCapabilities.h.

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

The number of floating-point constants vertex programs support.

Definition at line 250 of file OgreRenderSystemCapabilities.h.

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

The number of integer constants vertex programs support.

Definition at line 255 of file OgreRenderSystemCapabilities.h.

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

The number of boolean constants vertex programs support.

Definition at line 260 of file OgreRenderSystemCapabilities.h.

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

The number of floating-point constants fragment programs support.

Definition at line 265 of file OgreRenderSystemCapabilities.h.

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

The number of integer constants fragment programs support.

Definition at line 270 of file OgreRenderSystemCapabilities.h.

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

The number of boolean constants fragment programs support.

Definition at line 275 of file OgreRenderSystemCapabilities.h.

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

sets the best low-level vertex program version supported

Definition at line 283 of file OgreRenderSystemCapabilities.h.

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

sets the best fragment program that this card / rendersystem supports

Definition at line 288 of file OgreRenderSystemCapabilities.h.

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

The number of floating-point constants vertex programs support.

Definition at line 293 of file OgreRenderSystemCapabilities.h.

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

The number of integer constants vertex programs support.

Definition at line 298 of file OgreRenderSystemCapabilities.h.

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

The number of boolean constants vertex programs support.

Definition at line 303 of file OgreRenderSystemCapabilities.h.

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

The number of floating-point constants fragment programs support.

Definition at line 308 of file OgreRenderSystemCapabilities.h.

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

The number of integer constants fragment programs support.

Definition at line 313 of file OgreRenderSystemCapabilities.h.

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

The number of boolean constants fragment programs support.

Definition at line 318 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::setMaxPointSize | ( | Real | s | ) |

Maximum point screen size in pixels.

Definition at line 323 of file OgreRenderSystemCapabilities.h.

Real Ogre::RenderSystemCapabilities::getMaxPointSize | ( | void |  | ) | const

Maximum point screen size in pixels.

Definition at line 328 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::setNonPOW2TexturesLimited | ( | bool | l | ) |

Non-POW2 textures limited.

Definition at line 333 of file OgreRenderSystemCapabilities.h.

bool Ogre::RenderSystemCapabilities::getNonPOW2TexturesLimited | ( | void |  | ) | const

Are non-power of two textures limited in features?

Remarks:
  If the RSC_NON_POWER_OF_2_TEXTURES capability is set, but this method returns true, you can use non power of 2 textures only if:
  - You load them explicitly with no mip maps
  - You don't use DXT texture compression
  - You use clamp texture addressing

Definition at line 345 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::setNumVertexTextureUnits | ( | ushort | n | ) |

Set the number of vertex texture units supported.

Definition at line 351 of file OgreRenderSystemCapabilities.h.

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

Get the number of vertex texture units supported.

Definition at line 356 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::setVertexTextureUnitsShared | ( | bool | shared | ) |

Set whether the vertex texture units are shared with the fragment processor.

Definition at line 361 of file OgreRenderSystemCapabilities.h.

bool Ogre::RenderSystemCapabilities::getVertexTextureUnitsShared | ( | void |  | ) | const

Get whether the vertex texture units are shared with the fragment processor.

Definition at line 366 of file OgreRenderSystemCapabilities.h.

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

Write the capabilities to the pass in Log.

## Member Data Documentation

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

The number of world matricies available.

Definition at line 107 of file OgreRenderSystemCapabilities.h.

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

The number of texture units available.

Definition at line 109 of file OgreRenderSystemCapabilities.h.

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

The stencil buffer bit depth.

Definition at line 111 of file OgreRenderSystemCapabilities.h.

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

The number of matrices available for hardware blending.

Definition at line 113 of file OgreRenderSystemCapabilities.h.

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

Stores the capabilities flags.

Definition at line 115 of file OgreRenderSystemCapabilities.h.

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

The best vertex program that this card / rendersystem supports.

Definition at line 117 of file OgreRenderSystemCapabilities.h.

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

The best fragment program that this card / rendersystem supports.

Definition at line 119 of file OgreRenderSystemCapabilities.h.

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

The number of floating-point constants vertex programs support.

Definition at line 121 of file OgreRenderSystemCapabilities.h.

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

The number of integer constants vertex programs support.

Definition at line 123 of file OgreRenderSystemCapabilities.h.

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

The number of boolean constants vertex programs support.

Definition at line 125 of file OgreRenderSystemCapabilities.h.

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

The number of floating-point constants fragment programs support.

Definition at line 127 of file OgreRenderSystemCapabilities.h.

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

The number of integer constants fragment programs support.

Definition at line 129 of file OgreRenderSystemCapabilities.h.

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

The number of boolean constants fragment programs support.

Definition at line 131 of file OgreRenderSystemCapabilities.h.

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

The number of simultaneous render targets supported.

Definition at line 133 of file OgreRenderSystemCapabilities.h.

Real Ogre::RenderSystemCapabilities::mMaxPointSize`[private]`

The maximum point size.

Definition at line 135 of file OgreRenderSystemCapabilities.h.

bool Ogre::RenderSystemCapabilities::mNonPOW2TexturesLimited`[private]`

Are non-POW2 textures feature-limited?

Definition at line 137 of file OgreRenderSystemCapabilities.h.

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

The number of vertex texture units supported.

Definition at line 139 of file OgreRenderSystemCapabilities.h.

bool Ogre::RenderSystemCapabilities::mVertexTextureUnitsShared`[private]`

Are vertex texture units shared with fragment processor?

Definition at line 141 of file OgreRenderSystemCapabilities.h.

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

- OgreRenderSystemCapabilities.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:28:23 2008