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>

Collaboration diagram for Ogre::RenderSystemCapabilities:

Collaboration graph
[legend]
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 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 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 58 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 206 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 196 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getFragmentProgramConstantIntCount void    const
 

The number of integer constants fragment programs support.

Definition at line 201 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 176 of file OgreRenderSystemCapabilities.h.

Referenced by log().

const String& Ogre::RenderSystemCapabilities::getMaxVertexProgramVersion void    const
 

Gets the best low-level vertex program version supported.

Definition at line 171 of file OgreRenderSystemCapabilities.h.

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 127 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 112 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 138 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 191 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 181 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

ushort Ogre::RenderSystemCapabilities::getVertexProgramConstantIntCount void    const
 

The number of integer constants vertex programs support.

Definition at line 186 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

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

Checks for a capability.

Definition at line 159 of file OgreRenderSystemCapabilities.h.

References Ogre::Capabilities.

Referenced by Ogre::Technique::_compile(), Ogre::GLRenderSystem::_render(), Ogre::GLRenderSystem::_setTextureBlendMode(), Ogre::GLRenderSystem::_setTextureLayerAnisotropy(), Ogre::RenderSystem::_setWorldMatrices(), and log().

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_HWSTENCIL, Ogre::RSC_TEXTURE_COMPRESSION, Ogre::RSC_TEXTURE_COMPRESSION_DXT, Ogre::RSC_TEXTURE_COMPRESSION_VTC, Ogre::RSC_VBO, 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 145 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

void Ogre::RenderSystemCapabilities::setCapability const Capabilities    c
 

Adds a capability flag to mCapabilities.

Definition at line 152 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 249 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 239 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 244 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 219 of file OgreRenderSystemCapabilities.h.

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

Referenced by Ogre::D3D9RenderSystem::convertVertexShaderCaps(), and Ogre::GLRenderSystem::initGL().

void Ogre::RenderSystemCapabilities::setNumTextureUnits ushort    num
 

Definition at line 97 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 107 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

void Ogre::RenderSystemCapabilities::setNumWorldMatricies ushort    num
 

Definition at line 92 of file OgreRenderSystemCapabilities.h.

References Ogre::ushort.

void Ogre::RenderSystemCapabilities::setStencilBufferBitDepth ushort    num
 

Definition at line 102 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 234 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 224 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 229 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 70 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mFragmentProgramConstantBoolCount [private]
 

The number of boolean constants fragment programs support.

Definition at line 86 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mFragmentProgramConstantFloatCount [private]
 

The number of floating-point constants fragment programs support.

Definition at line 82 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mFragmentProgramConstantIntCount [private]
 

The number of integer constants fragment programs support.

Definition at line 84 of file OgreRenderSystemCapabilities.h.

String Ogre::RenderSystemCapabilities::mMaxFragmentProgramVersion [private]
 

The best fragment program that this card / rendersystem supports.

Definition at line 74 of file OgreRenderSystemCapabilities.h.

String Ogre::RenderSystemCapabilities::mMaxVertexProgramVersion [private]
 

The best vertex program that this card / rendersystem supports.

Definition at line 72 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumTextureUnits [private]
 

The number of texture units available.

Definition at line 64 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumVertexBlendMatrices [private]
 

The number of matrices available for hardware blending.

Definition at line 68 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mNumWorldMatrices [private]
 

The number of world matricies available.

Definition at line 62 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mStencilBufferBitDepth [private]
 

The stencil buffer bit depth.

Definition at line 66 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mVertexProgramConstantBoolCount [private]
 

The number of boolean constants vertex programs support.

Definition at line 80 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mVertexProgramConstantFloatCount [private]
 

The number of floating-point constants vertex programs support.

Definition at line 76 of file OgreRenderSystemCapabilities.h.

ushort Ogre::RenderSystemCapabilities::mVertexProgramConstantIntCount [private]
 

The number of integer constants vertex programs support.

Definition at line 78 of file OgreRenderSystemCapabilities.h.


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

Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:19:32 2004