#include <OgreRenderSystemCapabilities.h>
Inheritance diagram for Ogre::RenderSystemCapabilities:
Public Types | |
typedef std::set< String > | ShaderProfiles |
Public Member Functions | |
RenderSystemCapabilities () | |
virtual | ~RenderSystemCapabilities () |
virtual size_t | calculateSize () const |
void | setDriverVersion (const DriverVersion &version) |
Set the driver version. | |
void | parseDriverVersionFromString (const String &versionString) |
DriverVersion | getDriverVersion () const |
GPUVendor | getVendor () const |
void | setVendor (GPUVendor v) |
void | parseVendorFromString (const String &vendorString) |
Parse and set vendor. | |
bool | isDriverOlderThanVersion (DriverVersion v) const |
void | setNumWorldMatrices (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 | getNumWorldMatrices (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 | getNumVertexBlendMatrices (void) const |
Returns the number of matrices available to hardware vertex blending for this rendering system. | |
ushort | getNumMultiRenderTargets (void) const |
The number of simultaneous render targets supported. | |
bool | isCapabilityRenderSystemSpecific (const Capabilities c) |
Returns true if capability is render system specific. | |
void | setCapability (const Capabilities c) |
Adds a capability flag. | |
void | unsetCapability (const Capabilities c) |
Remove a capability flag. | |
bool | hasCapability (const Capabilities c) const |
Checks for a capability. | |
void | addShaderProfile (const String &profile) |
Adds the profile to the list of supported profiles. | |
void | removeShaderProfile (const String &profile) |
Remove a given shader profile, if present. | |
bool | isShaderProfileSupported (const String &profile) const |
Returns true if profile is in the list of supported profiles. | |
const ShaderProfiles & | getSupportedShaderProfiles () const |
Returns a set of all supported shader profiles. | |
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 | getGeometryProgramConstantFloatCount (void) const |
The number of floating-point constants geometry programs support. | |
ushort | getGeometryProgramConstantIntCount (void) const |
The number of integer constants geometry programs support. | |
ushort | getGeometryProgramConstantBoolCount (void) const |
The number of boolean constants geometry 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 | setDeviceName (const String &name) |
sets the device name for Render system | |
String | getDeviceName () const |
gets the device name for render system | |
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 | setGeometryProgramConstantFloatCount (ushort c) |
The number of floating-point constants geometry programs support. | |
void | setGeometryProgramConstantIntCount (ushort c) |
The number of integer constants geometry programs support. | |
void | setGeometryProgramConstantBoolCount (ushort c) |
The number of boolean constants geometry 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 | setGeometryProgramNumOutputVertices (int numOutputVertices) |
Set the number of vertices a single geometry program run can emit. | |
int | getGeometryProgramNumOutputVertices (void) const |
Get the number of vertices a single geometry program run can emit. | |
String | getRenderSystemName (void) const |
Get the identifier of the rendersystem from which these capabilities were generated. | |
void | setRenderSystemName (const String &rs) |
Set the identifier of the rendersystem from which these capabilities were generated. | |
void | setCategoryRelevant (CapabilitiesCategory cat, bool relevant) |
Mark a category as 'relevant' or not, ie will it be reported. | |
bool | isCategoryRelevant (CapabilitiesCategory cat) |
Return whether a category is 'relevant' or not, ie will it be reported. | |
void | log (Log *pLog) |
Write the capabilities to the pass in Log. | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Static Public Member Functions | |
static GPUVendor | vendorFromString (const String &vendorString) |
Convert a vendor string to an enum. | |
static String | vendorToString (GPUVendor v) |
Convert a vendor enum to a string. | |
Static Private Member Functions | |
static void | initVendorStrings () |
Private Attributes | |
DriverVersion | mDriverVersion |
This is used to build a database of RSC's if a RSC with same name, but newer version is introduced, the older one will be removed. | |
GPUVendor | mVendor |
GPU Vendor. | |
ushort | mNumWorldMatrices |
The number of world matrices 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 [CAPS_CATEGORY_COUNT] |
Stores the capabilities flags. | |
bool | mCategoryRelevant [CAPS_CATEGORY_COUNT] |
Which categories are relevant. | |
String | mDeviceName |
The name of the device as reported by the render system. | |
String | mRenderSystemName |
The identifier associated with the render system for which these capabilities are valid. | |
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 | mGeometryProgramConstantFloatCount |
The number of floating-point constats geometry programs support. | |
ushort | mGeometryProgramConstantIntCount |
The number of integer constants vertex geometry support. | |
ushort | mGeometryProgramConstantBoolCount |
The number of boolean constants vertex geometry 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? | |
int | mGeometryProgramNumOutputVertices |
The number of vertices a geometry program can emit in a single run. | |
ShaderProfiles | mSupportedShaderProfiles |
The list of supported shader profiles. | |
Static Private Attributes | |
static StringVector | msGPUVendorStrings |
Definition at line 219 of file OgreRenderSystemCapabilities.h.
|
Definition at line 224 of file OgreRenderSystemCapabilities.h. |
|
|
|
|
|
Adds the profile to the list of supported profiles.
Definition at line 471 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 292 of file OgreRenderSystemCapabilities.h. |
|
gets the device name for render system
Definition at line 553 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 308 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants fragment programs support.
Definition at line 541 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants fragment programs support.
Definition at line 531 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants fragment programs support.
Definition at line 536 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants geometry programs support.
Definition at line 526 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants geometry programs support.
Definition at line 516 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants geometry programs support.
Definition at line 521 of file OgreRenderSystemCapabilities.h. |
|
Get the number of vertices a single geometry program run can emit.
Definition at line 658 of file OgreRenderSystemCapabilities.h. |
|
Maximum point screen size in pixels.
Definition at line 609 of file OgreRenderSystemCapabilities.h. |
|
Are non-power of two textures limited in features?
Definition at line 626 of file OgreRenderSystemCapabilities.h. |
|
The number of simultaneous render targets supported.
Definition at line 420 of file OgreRenderSystemCapabilities.h. |
|
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 396 of file OgreRenderSystemCapabilities.h. |
|
Returns the number of matrices available to hardware vertex blending for this rendering system.
Definition at line 414 of file OgreRenderSystemCapabilities.h. |
|
Get the number of vertex texture units supported.
Definition at line 637 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 379 of file OgreRenderSystemCapabilities.h. |
|
Get the identifier of the rendersystem from which these capabilities were generated.
Definition at line 664 of file OgreRenderSystemCapabilities.h. |
|
Determines the bit depth of the hardware accelerated stencil buffer, if supported.
Definition at line 407 of file OgreRenderSystemCapabilities.h. |
|
Returns a set of all supported shader profiles.
Definition at line 494 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 313 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants vertex programs support.
Definition at line 511 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants vertex programs support.
Definition at line 501 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants vertex programs support.
Definition at line 506 of file OgreRenderSystemCapabilities.h. |
|
Get whether the vertex texture units are shared with the fragment processor.
Definition at line 647 of file OgreRenderSystemCapabilities.h. |
|
Checks for a capability.
Definition at line 455 of file OgreRenderSystemCapabilities.h. References CAPS_CATEGORY_MASK, and OGRE_CAPS_BITSHIFT. |
|
|
|
Returns true if capability is render system specific.
Definition at line 427 of file OgreRenderSystemCapabilities.h. References Ogre::CAPS_CATEGORY_D3D9, Ogre::CAPS_CATEGORY_GL, and OGRE_CAPS_BITSHIFT. |
|
Return whether a category is 'relevant' or not, ie will it be reported.
Definition at line 681 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 334 of file OgreRenderSystemCapabilities.h. References Ogre::DriverVersion::build, Ogre::DriverVersion::major, Ogre::DriverVersion::minor, and Ogre::DriverVersion::release. |
|
Returns true if profile is in the list of supported profiles.
Definition at line 486 of file OgreRenderSystemCapabilities.h. |
|
Write the capabilities to the pass in Log.
|
|
Definition at line 101 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 95 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 89 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 112 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 106 of file OgreMemoryAllocatedObject.h. |
|
placement operator new
Definition at line 73 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 67 of file OgreMemoryAllocatedObject.h. |
|
operator new, with debug line info
Definition at line 62 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 84 of file OgreMemoryAllocatedObject.h. |
|
array operator new, with debug line info
Definition at line 79 of file OgreMemoryAllocatedObject.h. |
|
Definition at line 300 of file OgreRenderSystemCapabilities.h. References Ogre::DriverVersion::fromString(). |
|
Parse and set vendor.
Definition at line 324 of file OgreRenderSystemCapabilities.h. |
|
Remove a given shader profile, if present.
Definition at line 479 of file OgreRenderSystemCapabilities.h. |
|
Adds a capability flag.
Definition at line 437 of file OgreRenderSystemCapabilities.h. References CAPS_CATEGORY_MASK, and OGRE_CAPS_BITSHIFT. |
|
Mark a category as 'relevant' or not, ie will it be reported.
Definition at line 675 of file OgreRenderSystemCapabilities.h. |
|
sets the device name for Render system
Definition at line 547 of file OgreRenderSystemCapabilities.h. |
|
Set the driver version.
Definition at line 295 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants fragment programs support.
Definition at line 599 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants fragment programs support.
Definition at line 589 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants fragment programs support.
Definition at line 594 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants geometry programs support.
Definition at line 584 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants geometry programs support.
Definition at line 574 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants geometry programs support.
Definition at line 579 of file OgreRenderSystemCapabilities.h. |
|
Set the number of vertices a single geometry program run can emit.
Definition at line 653 of file OgreRenderSystemCapabilities.h. |
|
Maximum point screen size in pixels.
Definition at line 604 of file OgreRenderSystemCapabilities.h. |
|
Non-POW2 textures limited.
Definition at line 614 of file OgreRenderSystemCapabilities.h. |
|
The number of simultaneous render targets supported.
Definition at line 374 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 358 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 368 of file OgreRenderSystemCapabilities.h. |
|
Set the number of vertex texture units supported.
Definition at line 632 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 353 of file OgreRenderSystemCapabilities.h. |
|
Set the identifier of the rendersystem from which these capabilities were generated.
Definition at line 669 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 363 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 318 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants vertex programs support.
Definition at line 569 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants vertex programs support.
Definition at line 559 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants vertex programs support.
Definition at line 564 of file OgreRenderSystemCapabilities.h. |
|
Set whether the vertex texture units are shared with the fragment processor.
Definition at line 642 of file OgreRenderSystemCapabilities.h. |
|
Remove a capability flag.
Definition at line 446 of file OgreRenderSystemCapabilities.h. References CAPS_CATEGORY_MASK, and OGRE_CAPS_BITSHIFT. |
|
Convert a vendor string to an enum.
|
|
Convert a vendor enum to a string.
|
|
Stores the capabilities flags.
Definition at line 245 of file OgreRenderSystemCapabilities.h. |
|
Which categories are relevant.
Definition at line 247 of file OgreRenderSystemCapabilities.h. |
|
The name of the device as reported by the render system.
Definition at line 249 of file OgreRenderSystemCapabilities.h. |
|
This is used to build a database of RSC's if a RSC with same name, but newer version is introduced, the older one will be removed.
Definition at line 229 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants fragment programs support.
Definition at line 270 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants fragment programs support.
Definition at line 266 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants fragment programs support.
Definition at line 268 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants vertex geometry support.
Definition at line 264 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constats geometry programs support.
Definition at line 260 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants vertex geometry support.
Definition at line 262 of file OgreRenderSystemCapabilities.h. |
|
The number of vertices a geometry program can emit in a single run.
Definition at line 282 of file OgreRenderSystemCapabilities.h. |
|
The maximum point size.
Definition at line 274 of file OgreRenderSystemCapabilities.h. |
|
Are non-POW2 textures feature-limited?
Definition at line 276 of file OgreRenderSystemCapabilities.h. |
|
The number of simultaneous render targets supported.
Definition at line 272 of file OgreRenderSystemCapabilities.h. |
|
The number of texture units available.
Definition at line 239 of file OgreRenderSystemCapabilities.h. |
|
The number of matrices available for hardware blending.
Definition at line 243 of file OgreRenderSystemCapabilities.h. |
|
The number of vertex texture units supported.
Definition at line 278 of file OgreRenderSystemCapabilities.h. |
|
The number of world matrices available.
Definition at line 237 of file OgreRenderSystemCapabilities.h. |
|
The identifier associated with the render system for which these capabilities are valid.
Definition at line 251 of file OgreRenderSystemCapabilities.h. |
|
Definition at line 233 of file OgreRenderSystemCapabilities.h. |
|
The stencil buffer bit depth.
Definition at line 241 of file OgreRenderSystemCapabilities.h. |
|
The list of supported shader profiles.
Definition at line 286 of file OgreRenderSystemCapabilities.h. |
|
GPU Vendor.
Definition at line 231 of file OgreRenderSystemCapabilities.h. |
|
The number of boolean constants vertex programs support.
Definition at line 258 of file OgreRenderSystemCapabilities.h. |
|
The number of floating-point constants vertex programs support.
Definition at line 254 of file OgreRenderSystemCapabilities.h. |
|
The number of integer constants vertex programs support.
Definition at line 256 of file OgreRenderSystemCapabilities.h. |
|
Are vertex texture units shared with fragment processor?
Definition at line 280 of file OgreRenderSystemCapabilities.h. |
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:51:42 2009