Loading...
Searching...
No Matches
Ogre::RenderSystemCapabilities Class Reference
Core » RenderSystem

This class stores the capabilities of the graphics card. More...

`#include <OgreRenderSystemCapabilities.h>`

Inheritance diagram for Ogre::RenderSystemCapabilities:
[legend]

## Public Types

typedef std::set< String > | ShaderProfiles

## Public Member Functions

| RenderSystemCapabilities ()
void | addShaderProfile (const String &profile)
| Adds the profile to the list of supported profiles.
ushort | getConstantFloatCount (GpuProgramType programType) const
| The number of floating-point 4-vector constants vertex programs support.
String | getDeviceName () const
| gets the device name for render system
DriverVersion | getDriverVersion () const
int | getGeometryProgramNumOutputVertices (void) const
| Get the number of vertices a single geometry program run can emit.
Real | getMaxPointSize (void) const
| Maximum point screen size in pixels.
Real | getMaxSupportedAnisotropy () const
| Get the maximum supported anisotropic filtering.
bool | getNonPOW2TexturesLimited (void) const
| Are non-power of two textures limited in features?
ushort | getNumMultiRenderTargets (void) const
| The number of simultaneous render targets supported.
ushort | getNumTextureUnits (void) const
| Returns the number of texture units the current output hardware supports.
ushort | getNumVertexAttributes (void) const
ushort | getNumVertexTextureUnits (void) const
| Get the number of vertex texture units supported.
const String & | getRenderSystemName (void) const
| Get the identifier of the rendersystem from which these capabilities were generated.
ushort | getStencilBufferBitDepth (void) const
const ShaderProfiles & | getSupportedShaderProfiles () const
| Returns a set of all supported shader profiles.
GPUVendor | getVendor () const
bool | hasCapability (const Capabilities c) const
| Checks for a capability.
bool | isCapabilityRenderSystemSpecific (const Capabilities c) const
| Returns true if capability is render system specific.
bool | isCategoryRelevant (CapabilitiesCategory cat)
| Return whether a category is 'relevant' or not, ie will it be reported.
bool | isDriverOlderThanVersion (const DriverVersion &v) const
bool | isShaderProfileSupported (const String &profile) const
| Returns true if profile is in the list of supported profiles.
void | log (Log *pLog) const
| Write the capabilities to the pass in Log.
void | parseDriverVersionFromString (const String &versionString)
void | parseVendorFromString (const String &vendorString)
| Parse and set vendor.
void | removeShaderProfile (const String &profile)
| Remove a given shader profile, if present.
void | setCapability (const Capabilities c)
| Adds a capability flag.
void | setCategoryRelevant (CapabilitiesCategory cat, bool relevant)
| Mark a category as 'relevant' or not, ie will it be reported.
void | setComputeProgramConstantFloatCount (ushort c)
| The number of floating-point 4-vector constants compute programs support.
void | setDeviceName (const String &name)
| sets the device name for Render system
void | setDriverVersion (const DriverVersion &version)
| Set the driver version.
void | setFragmentProgramConstantFloatCount (ushort c)
| The number of floating-point 4-vector constants fragment programs support.
void | setGeometryProgramConstantFloatCount (ushort c)
| The number of floating-point 4-vector constants geometry programs support.
void | setGeometryProgramNumOutputVertices (int numOutputVertices)
| Set the number of vertices a single geometry program run can emit.
void | setMaxPointSize (Real s)
| Maximum point screen size in pixels.
void | setMaxSupportedAnisotropy (Real s)
| Set the maximum supported anisotropic filtering.
void | setNonPOW2TexturesLimited (bool l)
| Non-POW2 textures limited.
void | setNumMultiRenderTargets (ushort num)
| The number of simultaneous render targets supported.
void | setNumTextureUnits (ushort num)
void | setNumVertexAttributes (ushort num)
void | setNumVertexTextureUnits (ushort n)
| Set the number of vertex texture units supported.
void | setRenderSystemName (const String &rs)
| Set the identifier of the rendersystem from which these capabilities were generated.
void | setStencilBufferBitDepth (ushort num)
void | setTessellationDomainProgramConstantFloatCount (ushort c)
| The number of floating-point 4-vector constants tessellation Domain programs support.
void | setTessellationHullProgramConstantFloatCount (ushort c)
| The number of floating-point 4-vector constants tessellation Hull programs support.
void | setVendor (GPUVendor v)
void | setVertexProgramConstantFloatCount (ushort c)
| The number of floating-point 4-vector constants vertex programs support.
void | unsetCapability (const Capabilities c)
| Remove a capability flag.

## Static Public Member Functions

static GPUVendor | vendorFromString (const String &vendorString)
| Convert a vendor string to an enum.
static const String & | vendorToString (GPUVendor v)
| Convert a vendor enum to a string.

## Detailed Description

This class stores the capabilities of the graphics card.

This information is set by the individual render systems.

## Member Typedef Documentation

## ShaderProfiles

typedef std::set<String> Ogre::RenderSystemCapabilities::ShaderProfiles

## Constructor & Destructor Documentation

## RenderSystemCapabilities()

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

## Member Function Documentation

## setDriverVersion()

void Ogre::RenderSystemCapabilities::setDriverVersion | ( | const DriverVersion & | version | ) |

inline

Set the driver version.

Referenced by parseDriverVersionFromString().

## parseDriverVersionFromString()

void Ogre::RenderSystemCapabilities::parseDriverVersionFromString | ( | const String & | versionString | ) |

inline

References Ogre::DriverVersion::fromString(), and setDriverVersion().

## getDriverVersion()

DriverVersion Ogre::RenderSystemCapabilities::getDriverVersion | ( |  | ) | const

inline

## getVendor()

GPUVendor Ogre::RenderSystemCapabilities::getVendor | ( |  | ) | const

inline

## setVendor()

void Ogre::RenderSystemCapabilities::setVendor | ( | GPUVendor | v | ) |

inline

Referenced by parseVendorFromString().

## parseVendorFromString()

void Ogre::RenderSystemCapabilities::parseVendorFromString | ( | const String & | vendorString | ) |

inline

Parse and set vendor.

References setVendor(), and vendorFromString().

## vendorFromString()

GPUVendor Ogre::RenderSystemCapabilities::vendorFromString | ( | const String & | vendorString | ) |

static

Convert a vendor string to an enum.

Referenced by parseVendorFromString().

## vendorToString()

const String & Ogre::RenderSystemCapabilities::vendorToString | ( | GPUVendor | v | ) |

static

Convert a vendor enum to a string.

Referenced by Ogre::to_string().

## isDriverOlderThanVersion()

bool Ogre::RenderSystemCapabilities::isDriverOlderThanVersion | ( | const DriverVersion & | v | ) | const

inline

References Ogre::DriverVersion::build, Ogre::DriverVersion::major, Ogre::DriverVersion::minor, and Ogre::DriverVersion::release.

## setNumTextureUnits()

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

inline

## setStencilBufferBitDepth()

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

inline

Deprecated
  do not use

## setNumMultiRenderTargets()

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

inline

The number of simultaneous render targets supported.

## setNumVertexAttributes()

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

inline

## getNumVertexAttributes()

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

inline

## getNumTextureUnits()

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

inline

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.

## getStencilBufferBitDepth()

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

inline

Deprecated
  assume 8-bit stencil buffer

## getNumMultiRenderTargets()

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

inline

The number of simultaneous render targets supported.

## isCapabilityRenderSystemSpecific()

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

inline

Returns true if capability is render system specific.

References Ogre::CAPS_CATEGORY_D3D9, Ogre::CAPS_CATEGORY_GL, and OGRE_CAPS_BITSHIFT.

## setCapability()

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

inline

Adds a capability flag.

References CAPS_CATEGORY_MASK, and OGRE_CAPS_BITSHIFT.

## unsetCapability()

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

inline

Remove a capability flag.

References CAPS_CATEGORY_MASK, and OGRE_CAPS_BITSHIFT.

## hasCapability()

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

inline

Checks for a capability.

References CAPS_CATEGORY_MASK, and OGRE_CAPS_BITSHIFT.

## addShaderProfile()

void Ogre::RenderSystemCapabilities::addShaderProfile | ( | const String & | profile | ) |

Adds the profile to the list of supported profiles.

## removeShaderProfile()

void Ogre::RenderSystemCapabilities::removeShaderProfile | ( | const String & | profile | ) |

Remove a given shader profile, if present.

## isShaderProfileSupported()

bool Ogre::RenderSystemCapabilities::isShaderProfileSupported | ( | const String & | profile | ) | const

Returns true if profile is in the list of supported profiles.

## getSupportedShaderProfiles()

const ShaderProfiles & Ogre::RenderSystemCapabilities::getSupportedShaderProfiles | ( |  | ) | const

inline

Returns a set of all supported shader profiles.

## getConstantFloatCount()

ushort Ogre::RenderSystemCapabilities::getConstantFloatCount | ( | GpuProgramType | programType | ) | const

inline

The number of floating-point 4-vector constants vertex programs support.

## setDeviceName()

void Ogre::RenderSystemCapabilities::setDeviceName | ( | const String & | name | ) |

inline

sets the device name for Render system

## getDeviceName()

String Ogre::RenderSystemCapabilities::getDeviceName | ( |  | ) | const

inline

gets the device name for render system

## setVertexProgramConstantFloatCount()

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

inline

The number of floating-point 4-vector constants vertex programs support.

References Ogre::GPT_VERTEX_PROGRAM.

## setGeometryProgramConstantFloatCount()

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

inline

The number of floating-point 4-vector constants geometry programs support.

References Ogre::GPT_GEOMETRY_PROGRAM.

## setFragmentProgramConstantFloatCount()

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

inline

The number of floating-point 4-vector constants fragment programs support.

References Ogre::GPT_FRAGMENT_PROGRAM.

## setMaxPointSize()

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

inline

Maximum point screen size in pixels.

## getMaxPointSize()

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

inline

Maximum point screen size in pixels.

## setNonPOW2TexturesLimited()

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

inline

Non-POW2 textures limited.

## getNonPOW2TexturesLimited()

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

inline

Are non-power of two textures limited in features?

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

## setMaxSupportedAnisotropy()

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

inline

Set the maximum supported anisotropic filtering.

## getMaxSupportedAnisotropy()

Real Ogre::RenderSystemCapabilities::getMaxSupportedAnisotropy | ( |  | ) | const

inline

Get the maximum supported anisotropic filtering.

## setNumVertexTextureUnits()

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

inline

Set the number of vertex texture units supported.

## getNumVertexTextureUnits()

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

inline

Get the number of vertex texture units supported.

## setGeometryProgramNumOutputVertices()

void Ogre::RenderSystemCapabilities::setGeometryProgramNumOutputVertices | ( | int | numOutputVertices | ) |

inline

Set the number of vertices a single geometry program run can emit.

## getGeometryProgramNumOutputVertices()

int Ogre::RenderSystemCapabilities::getGeometryProgramNumOutputVertices | ( | void |  | ) | const

inline

Get the number of vertices a single geometry program run can emit.

## getRenderSystemName()

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

inline

Get the identifier of the rendersystem from which these capabilities were generated.

## setRenderSystemName()

void Ogre::RenderSystemCapabilities::setRenderSystemName | ( | const String & | rs | ) |

inline

Set the identifier of the rendersystem from which these capabilities were generated.

## setCategoryRelevant()

void Ogre::RenderSystemCapabilities::setCategoryRelevant | ( | CapabilitiesCategory | cat,
|  | bool | relevant )

inline

Mark a category as 'relevant' or not, ie will it be reported.

## isCategoryRelevant()

bool Ogre::RenderSystemCapabilities::isCategoryRelevant | ( | CapabilitiesCategory | cat | ) |

inline

Return whether a category is 'relevant' or not, ie will it be reported.

## log()

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

Write the capabilities to the pass in Log.

## setComputeProgramConstantFloatCount()

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

inline

The number of floating-point 4-vector constants compute programs support.

References Ogre::GPT_COMPUTE_PROGRAM.

## setTessellationDomainProgramConstantFloatCount()

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

inline

The number of floating-point 4-vector constants tessellation Domain programs support.

References Ogre::GPT_DOMAIN_PROGRAM.

## setTessellationHullProgramConstantFloatCount()

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

inline

The number of floating-point 4-vector constants tessellation Hull programs support.

References Ogre::GPT_HULL_PROGRAM.

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

- OgreRenderSystemCapabilities.h