Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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 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 StringgetMaxVertexProgramVersion (void) const
 Gets the best low-level vertex program version supported.
const StringgetMaxFragmentProgramVersion (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

ushort Ogre::RenderSystemCapabilities::getFragmentProgramConstantBoolCount void   )  const
 

The number of boolean constants fragment programs support.

Definition at line 275 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.

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.

Real Ogre::RenderSystemCapabilities::getMaxPointSize void   )  const
 

Maximum point screen size in pixels.

Definition at line 328 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.

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.

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::getNumVertexTextureUnits void   )  const
 

Get the number of vertex texture units supported.

Definition at line 356 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::getNumWorldMatricies void   )  const
 

Definition at line 173 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::getVertexProgramConstantBoolCount void   )  const
 

The number of boolean constants vertex programs support.

Definition at line 260 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.

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.

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

Checks for a capability.

Definition at line 228 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::log Log pLog  ) 
 

Write the capabilities to the pass in Log.

ushort Ogre::RenderSystemCapabilities::numMultiRenderTargets void   )  const
 

The number of simultaneous render targets supported.

Definition at line 214 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.

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

Adds a capability flag to mCapabilities.

Definition at line 221 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::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::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::setMaxPointSize Real  s  ) 
 

Maximum point screen size in pixels.

Definition at line 323 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::setNonPOW2TexturesLimited bool  l  ) 
 

Non-POW2 textures limited.

Definition at line 333 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.

void Ogre::RenderSystemCapabilities::setNumTextureUnits ushort  num  ) 
 

Definition at line 152 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::setNumVertexBlendMatrices ushort  num  ) 
 

Definition at line 162 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.

void Ogre::RenderSystemCapabilities::setNumWorldMatricies ushort  num  ) 
 

Definition at line 147 of file OgreRenderSystemCapabilities.h.

void Ogre::RenderSystemCapabilities::setStencilBufferBitDepth ushort  num  ) 
 

Definition at line 157 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::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::setVertexTextureUnitsShared bool  shared  ) 
 

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

Definition at line 361 of file OgreRenderSystemCapabilities.h.


Member Data Documentation

int Ogre::RenderSystemCapabilities::mCapabilities [private]
 

Stores the capabilities flags.

Definition at line 115 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::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.

String Ogre::RenderSystemCapabilities::mMaxFragmentProgramVersion [private]
 

The best fragment program that this card / rendersystem supports.

Definition at line 119 of file OgreRenderSystemCapabilities.h.

Real Ogre::RenderSystemCapabilities::mMaxPointSize [private]
 

The maximum point size.

Definition at line 135 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.

bool Ogre::RenderSystemCapabilities::mNonPOW2TexturesLimited [private]
 

Are non-POW2 textures feature-limited?

Definition at line 137 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumMultiRenderTargets [private]
 

The number of simultaneous render targets supported.

Definition at line 133 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::mNumVertexBlendMatrices [private]
 

The number of matrices available for hardware blending.

Definition at line 113 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumVertexTextureUnits [private]
 

The number of vertex texture units supported.

Definition at line 139 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumWorldMatrices [private]
 

The number of world matricies available.

Definition at line 107 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::mVertexProgramConstantBoolCount [private]
 

The number of boolean constants vertex programs support.

Definition at line 125 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.

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:

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jun 10 10:38:40 2007