OgreRenderSystemCapabilities.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4 (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2013 Torus Knot Software Ltd
8 
9 Permission is hereby granted, free of charge, to any person obtaining a copy
10 of this software and associated documentation files (the "Software"), to deal
11 in the Software without restriction, including without limitation the rights
12 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 copies of the Software, and to permit persons to whom the Software is
14 furnished to do so, subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be included in
17 all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 THE SOFTWARE.
26 -----------------------------------------------------------------------------
27 */
28 #ifndef __RenderSystemCapabilities__
29 #define __RenderSystemCapabilities__
30 
31 // Precompiler options
32 #include "OgrePrerequisites.h"
33 #include "OgreString.h"
34 #include "OgreStringConverter.h"
35 #include "OgreStringVector.h"
36 #include "OgreResource.h"
37 #include "OgreLogManager.h"
38 #include "OgreHeaderPrefix.h"
39 
40 // Because there are more than 32 possible Capabilities, more than 1 int is needed to store them all.
41 // In fact, an array of integers is used to store capabilities. However all the capabilities are defined in the single
42 // enum. The only way to know which capabilities should be stored where in the array is to use some of the 32 bits
43 // to record the category of the capability. These top few bits are used as an index into mCapabilities array
44 // The lower bits are used to identify each capability individually by setting 1 bit for each
45 
46 // Identifies how many bits are reserved for categories
47 // NOTE: Although 4 bits (currently) are enough
48 #define CAPS_CATEGORY_SIZE 4
49 #define OGRE_CAPS_BITSHIFT (32 - CAPS_CATEGORY_SIZE)
50 #define CAPS_CATEGORY_MASK (((1 << CAPS_CATEGORY_SIZE) - 1) << OGRE_CAPS_BITSHIFT)
51 #define OGRE_CAPS_VALUE(cat, val) ((cat << OGRE_CAPS_BITSHIFT) | (1 << val))
52 
53 namespace Ogre
54 {
64  {
71  };
72 
75  // a is the category (which can be from 0 to 15)
76  // b is the value (from 0 to 27)
78  {
130 
171 
185 
186  // ***** DirectX specific caps *****
189 
190  // ***** GL Specific Caps *****
211  };
212 
215  struct _OgreExport DriverVersion
216  {
217  int major;
218  int minor;
219  int release;
220  int build;
221 
223  {
224  major = minor = release = build = 0;
225  }
226 
227  String toString() const
228  {
230  str << major << "." << minor << "." << release << "." << build;
231  return str.str();
232  }
233 
234  void fromString(const String& versionString)
235  {
236  StringVector tokens = StringUtil::split(versionString, ".");
237  if(!tokens.empty())
238  {
239  major = StringConverter::parseInt(tokens[0]);
240  if (tokens.size() > 1)
241  minor = StringConverter::parseInt(tokens[1]);
242  if (tokens.size() > 2)
243  release = StringConverter::parseInt(tokens[2]);
244  if (tokens.size() > 3)
245  build = StringConverter::parseInt(tokens[3]);
246  }
247 
248  }
249  };
250 
253  {
256  GPU_AMD = 2,
258  GPU_S3 = 4,
261  GPU_SIS = 7,
263  GPU_APPLE = 9, // Apple Software Renderer
264  GPU_NOKIA = 10,
265  GPU_MS_SOFTWARE = 11, // Microsoft software device
266  GPU_MS_WARP = 12, // Microsoft WARP (Windows Advanced Rasterization Platform) software device - http://msdn.microsoft.com/en-us/library/dd285359.aspx
267  GPU_ARM = 13, // For the Mali chipsets
269 
272  };
273 
279  class _OgreExport RenderSystemCapabilities : public RenderSysAlloc
280  {
281 
282  public:
283 
285  private:
292 
294  static void initVendorStrings();
295 
305  int mCapabilities[CAPS_CATEGORY_COUNT];
307  bool mCategoryRelevant[CAPS_CATEGORY_COUNT];
312 
345 
346 
349 
350  // Support for new shader stages in shader model 5.0
369 
370 
371 
372  public:
374  virtual ~RenderSystemCapabilities ();
375 
376  virtual size_t calculateSize() const {return 0;}
377 
379  void setDriverVersion(const DriverVersion& version)
380  {
381  mDriverVersion = version;
382  }
383 
384  void parseDriverVersionFromString(const String& versionString)
385  {
386  DriverVersion version;
387  version.fromString(versionString);
388  setDriverVersion(version);
389  }
390 
391 
393  {
394  return mDriverVersion;
395  }
396 
398  {
399  return mVendor;
400  }
401 
403  {
404  mVendor = v;
405  }
406 
408  void parseVendorFromString(const String& vendorString)
409  {
410  setVendor(vendorFromString(vendorString));
411  }
412 
414  static GPUVendor vendorFromString(const String& vendorString);
416  static String vendorToString(GPUVendor v);
417 
419  {
420  if (mDriverVersion.major < v.major)
421  return true;
422  else if (mDriverVersion.major == v.major &&
423  mDriverVersion.minor < v.minor)
424  return true;
425  else if (mDriverVersion.major == v.major &&
426  mDriverVersion.minor == v.minor &&
427  mDriverVersion.release < v.release)
428  return true;
429  else if (mDriverVersion.major == v.major &&
430  mDriverVersion.minor == v.minor &&
431  mDriverVersion.release == v.release &&
432  mDriverVersion.build < v.build)
433  return true;
434  return false;
435  }
436 
438  {
439  mNumWorldMatrices = num;
440  }
441 
443  {
444  mNumTextureUnits = num;
445  }
446 
448  {
449  mStencilBufferBitDepth = num;
450  }
451 
453  {
454  mNumVertexBlendMatrices = num;
455  }
456 
459  {
460  mNumMultiRenderTargets = num;
461  }
462 
464  {
465  return mNumWorldMatrices;
466  }
467 
481  {
482  return mNumTextureUnits;
483  }
484 
492  {
493  return mStencilBufferBitDepth;
494  }
495 
499  {
500  return mNumVertexBlendMatrices;
501  }
502 
505  {
506  return mNumMultiRenderTargets;
507  }
508 
512  {
513  int cat = c >> OGRE_CAPS_BITSHIFT;
514  if(cat == CAPS_CATEGORY_GL || cat == CAPS_CATEGORY_D3D9)
515  return true;
516  return false;
517  }
518 
522  {
523  int index = (CAPS_CATEGORY_MASK & c) >> OGRE_CAPS_BITSHIFT;
524  // zero out the index from the stored capability
525  mCapabilities[index] |= (c & ~CAPS_CATEGORY_MASK);
526  }
527 
531  {
532  int index = (CAPS_CATEGORY_MASK & c) >> OGRE_CAPS_BITSHIFT;
533  // zero out the index from the stored capability
534  mCapabilities[index] &= (~c | CAPS_CATEGORY_MASK);
535  }
536 
539  bool hasCapability(const Capabilities c) const
540  {
541  int index = (CAPS_CATEGORY_MASK & c) >> OGRE_CAPS_BITSHIFT;
542  // test against
543  if(mCapabilities[index] & (c & ~CAPS_CATEGORY_MASK))
544  {
545  return true;
546  }
547  else
548  {
549  return false;
550  }
551  }
552 
555  void addShaderProfile(const String& profile)
556  {
557  mSupportedShaderProfiles.insert(profile);
558 
559  }
560 
563  void removeShaderProfile(const String& profile)
564  {
565  mSupportedShaderProfiles.erase(profile);
566  }
567 
570  bool isShaderProfileSupported(const String& profile) const
571  {
572  return (mSupportedShaderProfiles.end() != mSupportedShaderProfiles.find(profile));
573  }
574 
575 
579  {
580  return mSupportedShaderProfiles;
581  }
582 
583 
586  {
587  return mVertexProgramConstantFloatCount;
588  }
591  {
592  return mVertexProgramConstantIntCount;
593  }
596  {
597  return mVertexProgramConstantBoolCount;
598  }
601  {
602  return mGeometryProgramConstantFloatCount;
603  }
606  {
607  return mGeometryProgramConstantIntCount;
608  }
611  {
612  return mGeometryProgramConstantBoolCount;
613  }
616  {
617  return mFragmentProgramConstantFloatCount;
618  }
621  {
622  return mFragmentProgramConstantIntCount;
623  }
626  {
627  return mFragmentProgramConstantBoolCount;
628  }
629 
631  void setDeviceName(const String& name)
632  {
633  mDeviceName = name;
634  }
635 
638  {
639  return mDeviceName;
640  }
641 
644  {
645  mVertexProgramConstantFloatCount = c;
646  }
649  {
650  mVertexProgramConstantIntCount = c;
651  }
654  {
655  mVertexProgramConstantBoolCount = c;
656  }
659  {
660  mGeometryProgramConstantFloatCount = c;
661  }
664  {
665  mGeometryProgramConstantIntCount = c;
666  }
669  {
670  mGeometryProgramConstantBoolCount = c;
671  }
674  {
675  mFragmentProgramConstantFloatCount = c;
676  }
679  {
680  mFragmentProgramConstantIntCount = c;
681  }
684  {
685  mFragmentProgramConstantBoolCount = c;
686  }
689  {
690  mMaxPointSize = s;
691  }
693  Real getMaxPointSize(void) const
694  {
695  return mMaxPointSize;
696  }
699  {
700  mNonPOW2TexturesLimited = l;
701  }
710  bool getNonPOW2TexturesLimited(void) const
711  {
712  return mNonPOW2TexturesLimited;
713  }
716  {
717  mMaxSupportedAnisotropy = s;
718  }
721  {
722  return mMaxSupportedAnisotropy;
723  }
724 
727  {
728  mNumVertexTextureUnits = n;
729  }
732  {
733  return mNumVertexTextureUnits;
734  }
736  void setVertexTextureUnitsShared(bool shared)
737  {
738  mVertexTextureUnitsShared = shared;
739  }
742  {
743  return mVertexTextureUnitsShared;
744  }
745 
747  void setGeometryProgramNumOutputVertices(int numOutputVertices)
748  {
749  mGeometryProgramNumOutputVertices = numOutputVertices;
750  }
753  {
754  return mGeometryProgramNumOutputVertices;
755  }
756 
759  {
760  return mRenderSystemName;
761  }
763  void setRenderSystemName(const String& rs)
764  {
765  mRenderSystemName = rs;
766  }
767 
769  void setCategoryRelevant(CapabilitiesCategory cat, bool relevant)
770  {
771  mCategoryRelevant[cat] = relevant;
772  }
773 
776  {
777  return mCategoryRelevant[cat];
778  }
779 
780 
781 
783  void log(Log* pLog);
784 
785  // Support for new shader stages in shader model 5.0
788  {
789  mTesselationHullProgramConstantFloatCount = c;
790  }
793  {
794  mTesselationHullProgramConstantIntCount = c;
795  }
798  {
799  mTesselationHullProgramConstantBoolCount = c;
800  }
803  {
804  return mTesselationHullProgramConstantFloatCount;
805  }
808  {
809  return mTesselationHullProgramConstantIntCount;
810  }
813  {
814  return mTesselationHullProgramConstantBoolCount;
815  }
816 
819  {
820  mTesselationDomainProgramConstantFloatCount = c;
821  }
824  {
825  mTesselationDomainProgramConstantIntCount = c;
826  }
829  {
830  mTesselationDomainProgramConstantBoolCount = c;
831  }
834  {
835  return mTesselationDomainProgramConstantFloatCount;
836  }
839  {
840  return mTesselationDomainProgramConstantIntCount;
841  }
844  {
845  return mTesselationDomainProgramConstantBoolCount;
846  }
847 
850  {
851  mComputeProgramConstantFloatCount = c;
852  }
855  {
856  mComputeProgramConstantIntCount = c;
857  }
860  {
861  mComputeProgramConstantBoolCount = c;
862  }
865  {
866  return mComputeProgramConstantFloatCount;
867  }
870  {
871  return mComputeProgramConstantIntCount;
872  }
875  {
876  return mComputeProgramConstantBoolCount;
877  }
878 
879  };
880 
883 } // namespace
884 
885 
886 #include "OgreHeaderSuffix.h"
887 
888 #endif // __RenderSystemCapabilities__
889 
OgreHeaderSuffix.h
Ogre::RSC_TWO_SIDED_STENCIL
@ RSC_TWO_SIDED_STENCIL
Supports separate stencil updates for both front and back faces.
Definition: OgreRenderSystemCapabilities.h:99
Ogre::RSC_VAO
@ RSC_VAO
Support for Vertex Array Objects (VAOs)
Definition: OgreRenderSystemCapabilities.h:210
Ogre::RenderSystemCapabilities::hasCapability
bool hasCapability(const Capabilities c) const
Checks for a capability.
Definition: OgreRenderSystemCapabilities.h:539
Ogre::RenderSystemCapabilities::mVertexProgramConstantIntCount
ushort mVertexProgramConstantIntCount
The number of integer constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:316
Ogre::RenderSystemCapabilities::setVendor
void setVendor(GPUVendor v)
Definition: OgreRenderSystemCapabilities.h:402
Ogre::RenderSystemCapabilities::setTesselationDomainProgramConstantBoolCount
void setTesselationDomainProgramConstantBoolCount(ushort c)
The number of boolean constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:828
Ogre::RenderSystemCapabilities::setGeometryProgramNumOutputVertices
void setGeometryProgramNumOutputVertices(int numOutputVertices)
Set the number of vertices a single geometry program run can emit.
Definition: OgreRenderSystemCapabilities.h:747
Ogre::RenderSystemCapabilities::mMaxSupportedAnisotropy
Real mMaxSupportedAnisotropy
The maximum supported anisotropy.
Definition: OgreRenderSystemCapabilities.h:338
Ogre::AllocatedObject
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Definition: OgreMemoryAllocatedObject.h:58
Ogre::RenderSystemCapabilities::getNonPOW2TexturesLimited
bool getNonPOW2TexturesLimited(void) const
Are non-power of two textures limited in features?
Definition: OgreRenderSystemCapabilities.h:710
Ogre
Definition: OgreAndroidLogListener.h:34
Ogre::RSC_TEXTURE_COMPRESSION_BC6H_BC7
@ RSC_TEXTURE_COMPRESSION_BC6H_BC7
Supports compressed textures in BC6H and BC7 format (DirectX feature level 11_0)
Definition: OgreRenderSystemCapabilities.h:148
Ogre::RenderSystemCapabilities::mMaxPointSize
Real mMaxPointSize
The maximum point size.
Definition: OgreRenderSystemCapabilities.h:334
Ogre::RenderSystemCapabilities::getGeometryProgramConstantIntCount
ushort getGeometryProgramConstantIntCount(void) const
The number of integer constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:605
Ogre::GPU_VENDOR_COUNT
@ GPU_VENDOR_COUNT
placeholder
Definition: OgreRenderSystemCapabilities.h:271
Ogre::RenderSystemCapabilities::setNonPOW2TexturesLimited
void setNonPOW2TexturesLimited(bool l)
Non-POW2 textures limited.
Definition: OgreRenderSystemCapabilities.h:698
Ogre::RSC_SCISSOR_TEST
@ RSC_SCISSOR_TEST
Supports performing a scissor test to exclude areas of the screen.
Definition: OgreRenderSystemCapabilities.h:97
Ogre::RenderSystemCapabilities::getStencilBufferBitDepth
ushort getStencilBufferBitDepth(void) const
Determines the bit depth of the hardware accelerated stencil buffer, if supported.
Definition: OgreRenderSystemCapabilities.h:491
Ogre::GPU_IMAGINATION_TECHNOLOGIES
@ GPU_IMAGINATION_TECHNOLOGIES
Definition: OgreRenderSystemCapabilities.h:262
OGRE_CAPS_VALUE
#define OGRE_CAPS_VALUE(cat, val)
Definition: OgreRenderSystemCapabilities.h:51
Ogre::ushort
unsigned short ushort
Definition: OgrePrerequisites.h:113
Ogre::GPU_AMD
@ GPU_AMD
Definition: OgreRenderSystemCapabilities.h:256
Ogre::RSC_TEXTURE_1D
@ RSC_TEXTURE_1D
Supports 1d textures.
Definition: OgreRenderSystemCapabilities.h:174
Ogre::RSC_VBO
@ RSC_VBO
Supports hardware vertex and index buffers.
Definition: OgreRenderSystemCapabilities.h:91
Ogre::RSC_HWRENDER_TO_VERTEX_BUFFER
@ RSC_HWRENDER_TO_VERTEX_BUFFER
Supports rendering to vertex buffers.
Definition: OgreRenderSystemCapabilities.h:129
Ogre::set
Definition: OgrePrerequisites.h:519
Ogre::RenderSystemCapabilities::removeShaderProfile
void removeShaderProfile(const String &profile)
Remove a given shader profile, if present.
Definition: OgreRenderSystemCapabilities.h:563
Ogre::RenderSystemCapabilities::getComputeProgramConstantFloatCount
ushort getComputeProgramConstantFloatCount(void) const
The number of floating-point constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:864
Ogre::DriverVersion::minor
int minor
Definition: OgreRenderSystemCapabilities.h:218
Ogre::RenderSystemCapabilities::setFragmentProgramConstantFloatCount
void setFragmentProgramConstantFloatCount(ushort c)
The number of floating-point constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:673
Ogre::RSC_POINT_EXTENDED_PARAMETERS_EXT
@ RSC_POINT_EXTENDED_PARAMETERS_EXT
Support for point parameters EXT implementation.
Definition: OgreRenderSystemCapabilities.h:206
Ogre::RenderSystemCapabilities::ShaderProfiles
set< String >::type ShaderProfiles
Definition: OgreRenderSystemCapabilities.h:284
Ogre::RenderSystemCapabilities::setStencilBufferBitDepth
void setStencilBufferBitDepth(ushort num)
Definition: OgreRenderSystemCapabilities.h:447
Ogre::RenderSystemCapabilities::setNumWorldMatrices
void setNumWorldMatrices(ushort num)
Definition: OgreRenderSystemCapabilities.h:437
Ogre::RenderSystemCapabilities::setGeometryProgramConstantFloatCount
void setGeometryProgramConstantFloatCount(ushort c)
The number of floating-point constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:658
Ogre::StringVector
vector< String >::type StringVector
Definition: OgreStringVector.h:45
Ogre::RenderSystemCapabilities::getFragmentProgramConstantFloatCount
ushort getFragmentProgramConstantFloatCount(void) const
The number of floating-point constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:615
Ogre::RSC_TEXTURE_COMPRESSION
@ RSC_TEXTURE_COMPRESSION
Supports compressed textures.
Definition: OgreRenderSystemCapabilities.h:132
Ogre::RenderSystemCapabilities::getGeometryProgramConstantBoolCount
ushort getGeometryProgramConstantBoolCount(void) const
The number of boolean constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:610
Ogre::RenderSystemCapabilities::setVertexProgramConstantIntCount
void setVertexProgramConstantIntCount(ushort c)
The number of integer constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:648
Ogre::GPU_INTEL
@ GPU_INTEL
Definition: OgreRenderSystemCapabilities.h:257
Ogre::RenderSystemCapabilities::mNumTextureUnits
ushort mNumTextureUnits
The number of texture units available.
Definition: OgreRenderSystemCapabilities.h:299
Ogre::GPU_S3
@ GPU_S3
Definition: OgreRenderSystemCapabilities.h:258
Ogre::RenderSystemCapabilities::addShaderProfile
void addShaderProfile(const String &profile)
Adds the profile to the list of supported profiles.
Definition: OgreRenderSystemCapabilities.h:555
Ogre::RenderSystemCapabilities::mFragmentProgramConstantIntCount
ushort mFragmentProgramConstantIntCount
The number of integer constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:328
Ogre::CapabilitiesCategory
CapabilitiesCategory
Enumerates the categories of capabilities.
Definition: OgreRenderSystemCapabilities.h:63
Ogre::RSC_HWRENDER_TO_TEXTURE
@ RSC_HWRENDER_TO_TEXTURE
Supports hardware render-to-texture (bigger than framebuffer)
Definition: OgreRenderSystemCapabilities.h:111
Ogre::DriverVersion::fromString
void fromString(const String &versionString)
Definition: OgreRenderSystemCapabilities.h:234
CAPS_CATEGORY_MASK
#define CAPS_CATEGORY_MASK
Definition: OgreRenderSystemCapabilities.h:50
Ogre::RenderSystemCapabilities::setVertexProgramConstantBoolCount
void setVertexProgramConstantBoolCount(ushort c)
The number of boolean constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:653
Ogre::RSC_PERSTAGECONSTANT
@ RSC_PERSTAGECONSTANT
Is DirectX feature "per stage constants" supported.
Definition: OgreRenderSystemCapabilities.h:188
Ogre::RSC_SHADER_SUBROUTINE
@ RSC_SHADER_SUBROUTINE
Supports dynamic linkage/shader subroutine.
Definition: OgreRenderSystemCapabilities.h:170
Ogre::RenderSystemCapabilities::mTesselationHullProgramConstantIntCount
ushort mTesselationHullProgramConstantIntCount
The number of integer constants tesselation Hull programs support.
Definition: OgreRenderSystemCapabilities.h:354
Ogre::RSC_TEXTURE_COMPRESSION_PVRTC
@ RSC_TEXTURE_COMPRESSION_PVRTC
Supports compressed textures in the PVRTC format.
Definition: OgreRenderSystemCapabilities.h:138
Ogre::GPUVendor
GPUVendor
Enumeration of GPU vendors.
Definition: OgreRenderSystemCapabilities.h:252
Ogre::RenderSystemCapabilities::setTesselationDomainProgramConstantIntCount
void setTesselationDomainProgramConstantIntCount(ushort c)
The number of integer constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:823
Ogre::RSC_VERTEX_TEXTURE_FETCH
@ RSC_VERTEX_TEXTURE_FETCH
Supports vertex texture fetch.
Definition: OgreRenderSystemCapabilities.h:123
Ogre::RSC_RTT_SEPARATE_DEPTHBUFFER
@ RSC_RTT_SEPARATE_DEPTHBUFFER
Supports a separate depth buffer for RTTs. D3D 9 & 10, OGL w/FBO (RSC_FBO implies this flag)
Definition: OgreRenderSystemCapabilities.h:158
Ogre::RSC_HWOCCLUSION
@ RSC_HWOCCLUSION
Supports hardware occlusion queries.
Definition: OgreRenderSystemCapabilities.h:103
Ogre::StringUtil::split
static vector< String >::type split(const String &str, const String &delims="\t\n ", unsigned int maxSplits=0, bool preserveDelims=false)
Returns a StringVector that contains all the substrings delimited by the characters in the passed del...
Ogre::RenderSystemCapabilities::getVertexProgramConstantFloatCount
ushort getVertexProgramConstantFloatCount(void) const
The number of floating-point constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:585
Ogre::DriverVersion::major
int major
Definition: OgreRenderSystemCapabilities.h:217
Ogre::RenderSystemCapabilities::getTesselationHullProgramConstantIntCount
ushort getTesselationHullProgramConstantIntCount(void) const
The number of integer constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:807
Ogre::RenderSystemCapabilities::mTesselationDomainProgramConstantFloatCount
ushort mTesselationDomainProgramConstantFloatCount
The number of floating-point constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:358
Ogre::RenderSystemCapabilities::isCapabilityRenderSystemSpecific
bool isCapabilityRenderSystemSpecific(const Capabilities c) const
Returns true if capability is render system specific.
Definition: OgreRenderSystemCapabilities.h:511
Ogre::RenderSystemCapabilities::mRenderSystemName
String mRenderSystemName
The identifier associated with the render system for which these capabilities are valid.
Definition: OgreRenderSystemCapabilities.h:311
Ogre::RenderSystemCapabilities::mNumVertexBlendMatrices
ushort mNumVertexBlendMatrices
The number of matrices available for hardware blending.
Definition: OgreRenderSystemCapabilities.h:303
OgreStringConverter.h
Ogre::RenderSystemCapabilities::getRenderSystemName
String getRenderSystemName(void) const
Get the identifier of the rendersystem from which these capabilities were generated.
Definition: OgreRenderSystemCapabilities.h:758
Ogre::String
_StringBase String
Definition: OgrePrerequisites.h:439
Ogre::RenderSystemCapabilities::isCategoryRelevant
bool isCategoryRelevant(CapabilitiesCategory cat)
Return whether a category is 'relevant' or not, ie will it be reported.
Definition: OgreRenderSystemCapabilities.h:775
Ogre::RenderSystemCapabilities::mTesselationHullProgramConstantBoolCount
ushort mTesselationHullProgramConstantBoolCount
The number of boolean constants tesselation Hull programs support.
Definition: OgreRenderSystemCapabilities.h:356
Ogre::StringUtil::StrStreamType
StringStream StrStreamType
Definition: OgreString.h:78
Ogre::RenderSystemCapabilities::getVertexProgramConstantBoolCount
ushort getVertexProgramConstantBoolCount(void) const
The number of boolean constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:595
Ogre::GPU_MATROX
@ GPU_MATROX
Definition: OgreRenderSystemCapabilities.h:259
Ogre::RSC_FIXED_FUNCTION
@ RSC_FIXED_FUNCTION
Supports fixed-function pipeline.
Definition: OgreRenderSystemCapabilities.h:150
Ogre::RenderSystemCapabilities::setMaxSupportedAnisotropy
void setMaxSupportedAnisotropy(Real s)
Set the maximum supported anisotropic filtering.
Definition: OgreRenderSystemCapabilities.h:715
Ogre::RenderSystemCapabilities::setNumTextureUnits
void setNumTextureUnits(ushort num)
Definition: OgreRenderSystemCapabilities.h:442
Ogre::RenderSystemCapabilities::calculateSize
virtual size_t calculateSize() const
Definition: OgreRenderSystemCapabilities.h:376
Ogre::RSC_FRAGMENT_PROGRAM
@ RSC_FRAGMENT_PROGRAM
Supports fragment programs (pixel shaders)
Definition: OgreRenderSystemCapabilities.h:95
Ogre::CAPS_CATEGORY_D3D9
@ CAPS_CATEGORY_D3D9
Definition: OgreRenderSystemCapabilities.h:67
Ogre::GPU_APPLE
@ GPU_APPLE
Definition: OgreRenderSystemCapabilities.h:263
Ogre::RenderSystemCapabilities::setTesselationHullProgramConstantBoolCount
void setTesselationHullProgramConstantBoolCount(ushort c)
The number of boolean constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:797
Ogre::RSC_FBO
@ RSC_FBO
Support for Frame Buffer Objects (FBOs)
Definition: OgreRenderSystemCapabilities.h:194
Ogre::RenderSystemCapabilities::setDeviceName
void setDeviceName(const String &name)
sets the device name for Render system
Definition: OgreRenderSystemCapabilities.h:631
Ogre::RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL
@ RSC_RTT_DEPTHBUFFER_RESOLUTION_LESSEQUAL
Supports attaching a depth buffer to an RTT that has width & height less or equal than RTT's.
Definition: OgreRenderSystemCapabilities.h:164
Ogre::RenderSystemCapabilities::setTesselationHullProgramConstantIntCount
void setTesselationHullProgramConstantIntCount(ushort c)
The number of integer constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:792
Ogre::RSC_HWSTENCIL
@ RSC_HWSTENCIL
Supports hardware stencil buffer.
Definition: OgreRenderSystemCapabilities.h:89
Ogre::RenderSystemCapabilities::setFragmentProgramConstantIntCount
void setFragmentProgramConstantIntCount(ushort c)
The number of integer constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:678
Ogre::RenderSystemCapabilities::mVendor
GPUVendor mVendor
GPU Vendor.
Definition: OgreRenderSystemCapabilities.h:291
Ogre::RenderSystemCapabilities::getTesselationDomainProgramConstantFloatCount
ushort getTesselationDomainProgramConstantFloatCount(void) const
The number of floating-point constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:833
Ogre::DriverVersion::release
int release
Definition: OgreRenderSystemCapabilities.h:219
Ogre::RenderSystemCapabilities::getDeviceName
String getDeviceName() const
gets the device name for render system
Definition: OgreRenderSystemCapabilities.h:637
OgreHeaderPrefix.h
Ogre::RenderSystemCapabilities::mNonPOW2TexturesLimited
bool mNonPOW2TexturesLimited
Are non-POW2 textures feature-limited?
Definition: OgreRenderSystemCapabilities.h:336
Ogre::RenderSystemCapabilities::getComputeProgramConstantBoolCount
ushort getComputeProgramConstantBoolCount(void) const
The number of boolean constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:874
Ogre::RenderSystemCapabilities::setTesselationHullProgramConstantFloatCount
void setTesselationHullProgramConstantFloatCount(ushort c)
The number of floating-point constants tesselation Hull programs support.
Definition: OgreRenderSystemCapabilities.h:787
Ogre::RSC_NON_POWER_OF_2_TEXTURES
@ RSC_NON_POWER_OF_2_TEXTURES
Supports non-power of two textures.
Definition: OgreRenderSystemCapabilities.h:115
Ogre::RSC_MIPMAP_LOD_BIAS
@ RSC_MIPMAP_LOD_BIAS
Supports mipmap LOD biasing.
Definition: OgreRenderSystemCapabilities.h:125
Ogre::RenderSystemCapabilities::mSupportedShaderProfiles
ShaderProfiles mSupportedShaderProfiles
The list of supported shader profiles.
Definition: OgreRenderSystemCapabilities.h:348
Ogre::RenderSystemCapabilities::setNumVertexTextureUnits
void setNumVertexTextureUnits(ushort n)
Set the number of vertex texture units supported.
Definition: OgreRenderSystemCapabilities.h:726
Ogre::RenderSystemCapabilities::mComputeProgramConstantFloatCount
ushort mComputeProgramConstantFloatCount
The number of floating-point constants compute programs support.
Definition: OgreRenderSystemCapabilities.h:364
Ogre::RenderSystemCapabilities::setTesselationDomainProgramConstantFloatCount
void setTesselationDomainProgramConstantFloatCount(ushort c)
The number of floating-point constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:818
Ogre::GPU_MS_WARP
@ GPU_MS_WARP
Definition: OgreRenderSystemCapabilities.h:266
Ogre::CAPS_CATEGORY_COMMON
@ CAPS_CATEGORY_COMMON
Definition: OgreRenderSystemCapabilities.h:65
OgrePrerequisites.h
Ogre::RSC_TEXTURE_3D
@ RSC_TEXTURE_3D
Supports 3d (volume) textures.
Definition: OgreRenderSystemCapabilities.h:117
Ogre::RSC_CUBEMAPPING
@ RSC_CUBEMAPPING
Supports cube mapping.
Definition: OgreRenderSystemCapabilities.h:87
Ogre::GPU_MS_SOFTWARE
@ GPU_MS_SOFTWARE
Definition: OgreRenderSystemCapabilities.h:265
Ogre::RenderSystemCapabilities::getVertexTextureUnitsShared
bool getVertexTextureUnitsShared(void) const
Get whether the vertex texture units are shared with the fragment processor.
Definition: OgreRenderSystemCapabilities.h:741
OGRE_CAPS_BITSHIFT
#define OGRE_CAPS_BITSHIFT
Definition: OgreRenderSystemCapabilities.h:49
Ogre::RenderSystemCapabilities::parseVendorFromString
void parseVendorFromString(const String &vendorString)
Parse and set vendor.
Definition: OgreRenderSystemCapabilities.h:408
Ogre::RenderSystemCapabilities::mFragmentProgramConstantFloatCount
ushort mFragmentProgramConstantFloatCount
The number of floating-point constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:326
Ogre::RenderSystemCapabilities::getNumWorldMatrices
ushort getNumWorldMatrices(void) const
Definition: OgreRenderSystemCapabilities.h:463
Ogre::StringConverter::parseInt
static int parseInt(const String &val, int defaultValue=0)
Converts a String to a whole number.
OgreLogManager.h
Ogre::RenderSystemCapabilities::setGeometryProgramConstantIntCount
void setGeometryProgramConstantIntCount(ushort c)
The number of integer constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:663
Ogre::RSC_MRT_DIFFERENT_BIT_DEPTHS
@ RSC_MRT_DIFFERENT_BIT_DEPTHS
Supports MRTs with different bit depths.
Definition: OgreRenderSystemCapabilities.h:152
Ogre::CAPS_CATEGORY_COMMON_2
@ CAPS_CATEGORY_COMMON_2
Definition: OgreRenderSystemCapabilities.h:66
Ogre::RSC_ATOMIC_COUNTERS
@ RSC_ATOMIC_COUNTERS
Supports asynchronous hardware occlusion queries.
Definition: OgreRenderSystemCapabilities.h:184
Ogre::RSC_VERTEX_FORMAT_UBYTE4
@ RSC_VERTEX_FORMAT_UBYTE4
Supports the VET_UBYTE4 vertex element type.
Definition: OgreRenderSystemCapabilities.h:107
Ogre::RenderSystemCapabilities::mVertexTextureUnitsShared
bool mVertexTextureUnitsShared
Are vertex texture units shared with fragment processor?
Definition: OgreRenderSystemCapabilities.h:342
Ogre::GPU_NOKIA
@ GPU_NOKIA
Definition: OgreRenderSystemCapabilities.h:264
Ogre::RenderSystemCapabilities::getNumMultiRenderTargets
ushort getNumMultiRenderTargets(void) const
The number of simultaneous render targets supported.
Definition: OgreRenderSystemCapabilities.h:504
Ogre::DriverVersion::build
int build
Definition: OgreRenderSystemCapabilities.h:220
Ogre::RenderSystemCapabilities::mGeometryProgramNumOutputVertices
int mGeometryProgramNumOutputVertices
The number of vertices a geometry program can emit in a single run.
Definition: OgreRenderSystemCapabilities.h:344
Ogre::RenderSystemCapabilities
singleton class for storing the capabilities of the graphics card.
Definition: OgreRenderSystemCapabilities.h:279
OgreResource.h
Ogre::RenderSystemCapabilities::msGPUVendorStrings
static StringVector msGPUVendorStrings
Definition: OgreRenderSystemCapabilities.h:293
Ogre::RSC_HWRENDER_TO_TEXTURE_3D
@ RSC_HWRENDER_TO_TEXTURE_3D
Definition: OgreRenderSystemCapabilities.h:172
Ogre::RenderSystemCapabilities::getTesselationHullProgramConstantBoolCount
ushort getTesselationHullProgramConstantBoolCount(void) const
The number of boolean constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:812
Ogre::Log
Definition: OgreLog.h:103
Ogre::RSC_TESSELATION_HULL_PROGRAM
@ RSC_TESSELATION_HULL_PROGRAM
Supports hardware tesselation hull programs.
Definition: OgreRenderSystemCapabilities.h:176
Ogre::RSC_FBO_ATI
@ RSC_FBO_ATI
Support for Frame Buffer Objects ATI implementation (ARB FBO is higher precedence)
Definition: OgreRenderSystemCapabilities.h:198
Ogre::RSC_HWOCCLUSION_ASYNCHRONOUS
@ RSC_HWOCCLUSION_ASYNCHRONOUS
Supports asynchronous hardware occlusion queries.
Definition: OgreRenderSystemCapabilities.h:182
Ogre::RenderSystemCapabilities::getTesselationHullProgramConstantFloatCount
ushort getTesselationHullProgramConstantFloatCount(void) const
The number of floating-point constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:802
Ogre::RenderSystemCapabilities::setMaxPointSize
void setMaxPointSize(Real s)
Maximum point screen size in pixels.
Definition: OgreRenderSystemCapabilities.h:688
Ogre::RenderSystemCapabilities::getVendor
GPUVendor getVendor() const
Definition: OgreRenderSystemCapabilities.h:397
Ogre::RSC_GL1_5_NOHWOCCLUSION
@ RSC_GL1_5_NOHWOCCLUSION
Support for GL 1.5 but without HW occlusion workaround.
Definition: OgreRenderSystemCapabilities.h:202
Ogre::RSC_TEXTURE_COMPRESSION_ETC2
@ RSC_TEXTURE_COMPRESSION_ETC2
Supports compressed textures in the ETC2 format.
Definition: OgreRenderSystemCapabilities.h:144
Ogre::RenderSystemCapabilities::getComputeProgramConstantIntCount
ushort getComputeProgramConstantIntCount(void) const
The number of integer constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:869
Ogre::RenderSystemCapabilities::getNumTextureUnits
ushort getNumTextureUnits(void) const
Returns the number of texture units the current output hardware supports.
Definition: OgreRenderSystemCapabilities.h:480
Ogre::RenderSystemCapabilities::setFragmentProgramConstantBoolCount
void setFragmentProgramConstantBoolCount(ushort c)
The number of boolean constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:683
Ogre::RenderSystemCapabilities::mStencilBufferBitDepth
ushort mStencilBufferBitDepth
The stencil buffer bit depth.
Definition: OgreRenderSystemCapabilities.h:301
Ogre::RSC_BLENDING
@ RSC_BLENDING
Definition: OgreRenderSystemCapabilities.h:81
Ogre::RenderSystemCapabilities::mComputeProgramConstantBoolCount
ushort mComputeProgramConstantBoolCount
The number of boolean constants compute programs support.
Definition: OgreRenderSystemCapabilities.h:368
Ogre::GPU_SIS
@ GPU_SIS
Definition: OgreRenderSystemCapabilities.h:261
Ogre::GPU_NVIDIA
@ GPU_NVIDIA
Definition: OgreRenderSystemCapabilities.h:255
Ogre::RenderSystemCapabilities::mFragmentProgramConstantBoolCount
ushort mFragmentProgramConstantBoolCount
The number of boolean constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:330
Ogre::RenderSystemCapabilities::setVertexProgramConstantFloatCount
void setVertexProgramConstantFloatCount(ushort c)
The number of floating-point constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:643
Ogre::RenderSystemCapabilities::mVertexProgramConstantFloatCount
ushort mVertexProgramConstantFloatCount
The number of floating-point constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:314
Ogre::RSC_CAN_GET_COMPILED_SHADER_BUFFER
@ RSC_CAN_GET_COMPILED_SHADER_BUFFER
Supports using vertex buffers for instance data.
Definition: OgreRenderSystemCapabilities.h:168
Ogre::RSC_FBO_ARB
@ RSC_FBO_ARB
Support for Frame Buffer Objects ARB implementation (regular FBO is higher precedence)
Definition: OgreRenderSystemCapabilities.h:196
Ogre::RenderSystemCapabilities::mGeometryProgramConstantIntCount
ushort mGeometryProgramConstantIntCount
The number of integer constants vertex geometry support.
Definition: OgreRenderSystemCapabilities.h:322
Ogre::RenderSystemCapabilities::setRenderSystemName
void setRenderSystemName(const String &rs)
Set the identifier of the rendersystem from which these capabilities were generated.
Definition: OgreRenderSystemCapabilities.h:763
Ogre::RenderSystemCapabilities::isDriverOlderThanVersion
bool isDriverOlderThanVersion(DriverVersion v) const
Definition: OgreRenderSystemCapabilities.h:418
Ogre::RenderSystemCapabilities::mTesselationDomainProgramConstantBoolCount
ushort mTesselationDomainProgramConstantBoolCount
The number of boolean constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:362
Ogre::RSC_ADVANCED_BLEND_OPERATIONS
@ RSC_ADVANCED_BLEND_OPERATIONS
Supports Blending operations other than +.
Definition: OgreRenderSystemCapabilities.h:156
Ogre::RenderSystemCapabilities::getNumVertexBlendMatrices
ushort getNumVertexBlendMatrices(void) const
Returns the number of matrices available to hardware vertex blending for this rendering system.
Definition: OgreRenderSystemCapabilities.h:498
Ogre::DriverVersion::DriverVersion
DriverVersion()
Definition: OgreRenderSystemCapabilities.h:222
Ogre::RenderSystemCapabilities::getMaxPointSize
Real getMaxPointSize(void) const
Maximum point screen size in pixels.
Definition: OgreRenderSystemCapabilities.h:693
Ogre::RenderSystemCapabilities::getSupportedShaderProfiles
const ShaderProfiles & getSupportedShaderProfiles() const
Returns a set of all supported shader profiles.
Definition: OgreRenderSystemCapabilities.h:578
Ogre::RSC_POINT_SPRITES
@ RSC_POINT_SPRITES
Supports basic point sprite rendering.
Definition: OgreRenderSystemCapabilities.h:119
Ogre::RenderSystemCapabilities::mDeviceName
String mDeviceName
The name of the device as reported by the render system.
Definition: OgreRenderSystemCapabilities.h:309
Ogre::RSC_TEXTURE_COMPRESSION_ATC
@ RSC_TEXTURE_COMPRESSION_ATC
Supports compressed textures in the ATC format.
Definition: OgreRenderSystemCapabilities.h:140
Ogre::Capabilities
Capabilities
Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a,...
Definition: OgreRenderSystemCapabilities.h:77
Ogre::RenderSystemCapabilities::setComputeProgramConstantBoolCount
void setComputeProgramConstantBoolCount(ushort c)
The number of boolean constants compute programs support.
Definition: OgreRenderSystemCapabilities.h:859
Ogre::RenderSystemCapabilities::setDriverVersion
void setDriverVersion(const DriverVersion &version)
Set the driver version.
Definition: OgreRenderSystemCapabilities.h:379
Ogre::RSC_TEXTURE_FLOAT
@ RSC_TEXTURE_FLOAT
Supports float textures and render targets.
Definition: OgreRenderSystemCapabilities.h:113
Ogre::RenderSystemCapabilities::setCapability
void setCapability(const Capabilities c)
Adds a capability flag.
Definition: OgreRenderSystemCapabilities.h:521
Ogre::RenderSystemCapabilities::getTesselationDomainProgramConstantIntCount
ushort getTesselationDomainProgramConstantIntCount(void) const
The number of integer constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:838
Ogre::GPU_UNKNOWN
@ GPU_UNKNOWN
Definition: OgreRenderSystemCapabilities.h:254
Ogre::RenderSystemCapabilities::getFragmentProgramConstantBoolCount
ushort getFragmentProgramConstantBoolCount(void) const
The number of boolean constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:625
Ogre::RSC_STENCIL_WRAP
@ RSC_STENCIL_WRAP
Supports wrapping the stencil value at the range extremeties.
Definition: OgreRenderSystemCapabilities.h:101
Ogre::RSC_POINT_EXTENDED_PARAMETERS
@ RSC_POINT_EXTENDED_PARAMETERS
Supports extra point parameters (minsize, maxsize, attenuation)
Definition: OgreRenderSystemCapabilities.h:121
Ogre::RenderSystemCapabilities::parseDriverVersionFromString
void parseDriverVersionFromString(const String &versionString)
Definition: OgreRenderSystemCapabilities.h:384
Ogre::RenderSystemCapabilities::setGeometryProgramConstantBoolCount
void setGeometryProgramConstantBoolCount(ushort c)
The number of boolean constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:668
Ogre::RSC_ALPHA_TO_COVERAGE
@ RSC_ALPHA_TO_COVERAGE
Supports Alpha to Coverage (A2C)
Definition: OgreRenderSystemCapabilities.h:154
Ogre::RSC_TEXTURE_COMPRESSION_VTC
@ RSC_TEXTURE_COMPRESSION_VTC
Supports compressed textures in the VTC format.
Definition: OgreRenderSystemCapabilities.h:136
Ogre::RSC_POINT_EXTENDED_PARAMETERS_ARB
@ RSC_POINT_EXTENDED_PARAMETERS_ARB
Support for point parameters ARB implementation.
Definition: OgreRenderSystemCapabilities.h:204
Ogre::RSC_TEXTURE_COMPRESSION_DXT
@ RSC_TEXTURE_COMPRESSION_DXT
Supports compressed textures in the DXT/ST3C formats.
Definition: OgreRenderSystemCapabilities.h:134
Ogre::RenderSystemCapabilities::setComputeProgramConstantIntCount
void setComputeProgramConstantIntCount(ushort c)
The number of integer constants compute programs support.
Definition: OgreRenderSystemCapabilities.h:854
Ogre::RenderSystemCapabilities::setComputeProgramConstantFloatCount
void setComputeProgramConstantFloatCount(ushort c)
The number of floating-point constants compute programs support.
Definition: OgreRenderSystemCapabilities.h:849
Ogre::RenderSystemCapabilities::mGeometryProgramConstantBoolCount
ushort mGeometryProgramConstantBoolCount
The number of boolean constants vertex geometry support.
Definition: OgreRenderSystemCapabilities.h:324
Ogre::RenderSystemCapabilities::getTesselationDomainProgramConstantBoolCount
ushort getTesselationDomainProgramConstantBoolCount(void) const
The number of boolean constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:843
Ogre::Real
float Real
Software floating point type.
Definition: OgrePrerequisites.h:70
Ogre::RSC_PBUFFER
@ RSC_PBUFFER
Support for PBuffer.
Definition: OgreRenderSystemCapabilities.h:200
Ogre::RenderSystemCapabilities::mDriverVersion
DriverVersion mDriverVersion
This is used to build a database of RSC's if a RSC with same name, but newer version is introduced,...
Definition: OgreRenderSystemCapabilities.h:289
Ogre::RSC_USER_CLIP_PLANES
@ RSC_USER_CLIP_PLANES
Supports user clipping planes.
Definition: OgreRenderSystemCapabilities.h:105
Ogre::RSC_ANISOTROPY
@ RSC_ANISOTROPY
Supports anisotropic texture filtering.
Definition: OgreRenderSystemCapabilities.h:83
Ogre::RenderSystemCapabilities::unsetCapability
void unsetCapability(const Capabilities c)
Remove a capability flag.
Definition: OgreRenderSystemCapabilities.h:530
Ogre::RenderSystemCapabilities::mNumWorldMatrices
ushort mNumWorldMatrices
The number of world matrices available.
Definition: OgreRenderSystemCapabilities.h:297
Ogre::RenderSystemCapabilities::mTesselationHullProgramConstantFloatCount
ushort mTesselationHullProgramConstantFloatCount
The number of floating-point constants tesselation Hull programs support.
Definition: OgreRenderSystemCapabilities.h:352
Ogre::RSC_GEOMETRY_PROGRAM
@ RSC_GEOMETRY_PROGRAM
Supports hardware geometry programs.
Definition: OgreRenderSystemCapabilities.h:127
Ogre::RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE
@ RSC_RTT_MAIN_DEPTHBUFFER_ATTACHABLE
Supports using the MAIN depth buffer for RTTs.
Definition: OgreRenderSystemCapabilities.h:161
Ogre::RenderSystemCapabilities::mVertexProgramConstantBoolCount
ushort mVertexProgramConstantBoolCount
The number of boolean constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:318
Ogre::CAPS_CATEGORY_GL
@ CAPS_CATEGORY_GL
Definition: OgreRenderSystemCapabilities.h:68
Ogre::RenderSystemCapabilities::getGeometryProgramConstantFloatCount
ushort getGeometryProgramConstantFloatCount(void) const
The number of floating-point constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:600
Ogre::RSC_GL1_5_NOVBO
@ RSC_GL1_5_NOVBO
Supports OpenGL version 1.5.
Definition: OgreRenderSystemCapabilities.h:192
Ogre::RenderSystemCapabilities::mNumMultiRenderTargets
ushort mNumMultiRenderTargets
The number of simultaneous render targets supported.
Definition: OgreRenderSystemCapabilities.h:332
Ogre::RSC_TEXTURE_COMPRESSION_ETC1
@ RSC_TEXTURE_COMPRESSION_ETC1
Supports compressed textures in the ETC1 format.
Definition: OgreRenderSystemCapabilities.h:142
Ogre::RenderSystemCapabilities::getVertexProgramConstantIntCount
ushort getVertexProgramConstantIntCount(void) const
The number of integer constants vertex programs support.
Definition: OgreRenderSystemCapabilities.h:590
Ogre::RenderSystemCapabilities::setCategoryRelevant
void setCategoryRelevant(CapabilitiesCategory cat, bool relevant)
Mark a category as 'relevant' or not, ie will it be reported.
Definition: OgreRenderSystemCapabilities.h:769
Ogre::GPU_QUALCOMM
@ GPU_QUALCOMM
Definition: OgreRenderSystemCapabilities.h:268
Ogre::RSC_SEPARATE_SHADER_OBJECTS
@ RSC_SEPARATE_SHADER_OBJECTS
Support for Separate Shader Objects.
Definition: OgreRenderSystemCapabilities.h:208
Ogre::RSC_TEXTURE_COMPRESSION_BC4_BC5
@ RSC_TEXTURE_COMPRESSION_BC4_BC5
Supports compressed textures in BC4 and BC5 format (DirectX feature level 10_0)
Definition: OgreRenderSystemCapabilities.h:146
Ogre::RenderSystemCapabilities::mNumVertexTextureUnits
ushort mNumVertexTextureUnits
The number of vertex texture units supported.
Definition: OgreRenderSystemCapabilities.h:340
OgreStringVector.h
OgreString.h
Ogre::RenderSystemCapabilities::setNumMultiRenderTargets
void setNumMultiRenderTargets(ushort num)
The number of simultaneous render targets supported.
Definition: OgreRenderSystemCapabilities.h:458
Ogre::CAPS_CATEGORY_COUNT
@ CAPS_CATEGORY_COUNT
Placeholder for max value.
Definition: OgreRenderSystemCapabilities.h:70
Ogre::RenderSystemCapabilities::getNumVertexTextureUnits
ushort getNumVertexTextureUnits(void) const
Get the number of vertex texture units supported.
Definition: OgreRenderSystemCapabilities.h:731
Ogre::RenderSystemCapabilities::mGeometryProgramConstantFloatCount
ushort mGeometryProgramConstantFloatCount
The number of floating-point constants geometry programs support.
Definition: OgreRenderSystemCapabilities.h:320
Ogre::RSC_DOT3
@ RSC_DOT3
Supports fixed-function DOT3 texture blend.
Definition: OgreRenderSystemCapabilities.h:85
Ogre::RenderSystemCapabilities::getGeometryProgramNumOutputVertices
int getGeometryProgramNumOutputVertices(void) const
Get the number of vertices a single geometry program run can emit.
Definition: OgreRenderSystemCapabilities.h:752
Ogre::RenderSystemCapabilities::getFragmentProgramConstantIntCount
ushort getFragmentProgramConstantIntCount(void) const
The number of integer constants fragment programs support.
Definition: OgreRenderSystemCapabilities.h:620
Ogre::RenderSystemCapabilities::getMaxSupportedAnisotropy
Real getMaxSupportedAnisotropy()
Get the maximum supported anisotropic filtering.
Definition: OgreRenderSystemCapabilities.h:720
Ogre::DriverVersion::toString
String toString() const
Definition: OgreRenderSystemCapabilities.h:227
Ogre::RSC_AUTOMIPMAP
@ RSC_AUTOMIPMAP
Supports generating mipmaps in hardware.
Definition: OgreRenderSystemCapabilities.h:80
Ogre::DriverVersion
DriverVersion is used by RenderSystemCapabilities and both GL and D3D9 to store the version of the cu...
Definition: OgreRenderSystemCapabilities.h:215
Ogre::RSC_VERTEX_BUFFER_INSTANCE_DATA
@ RSC_VERTEX_BUFFER_INSTANCE_DATA
Supports using vertex buffers for instance data.
Definition: OgreRenderSystemCapabilities.h:166
Ogre::RenderSystemCapabilities::mComputeProgramConstantIntCount
ushort mComputeProgramConstantIntCount
The number of integer constants compute programs support.
Definition: OgreRenderSystemCapabilities.h:366
Ogre::GPU_3DLABS
@ GPU_3DLABS
Definition: OgreRenderSystemCapabilities.h:260
Ogre::RSC_INFINITE_FAR_PLANE
@ RSC_INFINITE_FAR_PLANE
Supports infinite far plane projection.
Definition: OgreRenderSystemCapabilities.h:109
Ogre::RSC_COMPUTE_PROGRAM
@ RSC_COMPUTE_PROGRAM
Supports hardware compute programs.
Definition: OgreRenderSystemCapabilities.h:180
Ogre::RSC_TESSELATION_DOMAIN_PROGRAM
@ RSC_TESSELATION_DOMAIN_PROGRAM
Supports hardware tesselation domain programs.
Definition: OgreRenderSystemCapabilities.h:178
Ogre::RenderSystemCapabilities::setNumVertexBlendMatrices
void setNumVertexBlendMatrices(ushort num)
Definition: OgreRenderSystemCapabilities.h:452
Ogre::RenderSystemCapabilities::isShaderProfileSupported
bool isShaderProfileSupported(const String &profile) const
Returns true if profile is in the list of supported profiles.
Definition: OgreRenderSystemCapabilities.h:570
Ogre::RenderSystemCapabilities::setVertexTextureUnitsShared
void setVertexTextureUnitsShared(bool shared)
Set whether the vertex texture units are shared with the fragment processor.
Definition: OgreRenderSystemCapabilities.h:736
Ogre::GPU_ARM
@ GPU_ARM
Definition: OgreRenderSystemCapabilities.h:267
Ogre::RenderSystemCapabilities::getDriverVersion
DriverVersion getDriverVersion() const
Definition: OgreRenderSystemCapabilities.h:392
Ogre::RenderSystemCapabilities::mTesselationDomainProgramConstantIntCount
ushort mTesselationDomainProgramConstantIntCount
The number of integer constants tesselation Domain programs support.
Definition: OgreRenderSystemCapabilities.h:360
Ogre::RSC_VERTEX_PROGRAM
@ RSC_VERTEX_PROGRAM
Supports vertex programs (vertex shaders)
Definition: OgreRenderSystemCapabilities.h:93

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15