Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

OgreRenderSystemCapabilities.h File Reference

#include "OgrePrerequisites.h"
#include "OgreString.h"
#include "OgreStringConverter.h"
#include "OgreStringVector.h"
#include "OgreResource.h"
#include "OgreLogManager.h"

Go to the source code of this file.

Namespaces

namespace  Ogre

Defines

#define __RenderSystemCapabilities__   1
#define CAPS_CATEGORY_SIZE   4
#define OGRE_CAPS_BITSHIFT   (32 - CAPS_CATEGORY_SIZE)
#define CAPS_CATEGORY_MASK   (((1 << CAPS_CATEGORY_SIZE) - 1) << OGRE_CAPS_BITSHIFT)
#define OGRE_CAPS_VALUE(cat, val)   ((cat << OGRE_CAPS_BITSHIFT) | (1 << val))

Enumerations

enum  CapabilitiesCategory {
  CAPS_CATEGORY_COMMON = 0, CAPS_CATEGORY_COMMON_2 = 1, CAPS_CATEGORY_D3D9 = 2, CAPS_CATEGORY_GL = 3,
  CAPS_CATEGORY_COUNT = 4
}
 Enumerates the categories of capabilities. More...
enum  Capabilities {
  RSC_AUTOMIPMAP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 0), RSC_BLENDING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 1), RSC_ANISOTROPY = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 2), RSC_DOT3 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 3),
  RSC_CUBEMAPPING = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 4), RSC_HWSTENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 5), RSC_VBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 7), RSC_VERTEX_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 9),
  RSC_FRAGMENT_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 10), RSC_SCISSOR_TEST = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 11), RSC_TWO_SIDED_STENCIL = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 12), RSC_STENCIL_WRAP = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 13),
  RSC_HWOCCLUSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 14), RSC_USER_CLIP_PLANES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 15), RSC_VERTEX_FORMAT_UBYTE4 = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 16), RSC_INFINITE_FAR_PLANE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 17),
  RSC_HWRENDER_TO_TEXTURE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 18), RSC_TEXTURE_FLOAT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 19), RSC_NON_POWER_OF_2_TEXTURES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 20), RSC_TEXTURE_3D = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 21),
  RSC_POINT_SPRITES = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 22), RSC_POINT_EXTENDED_PARAMETERS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 23), RSC_VERTEX_TEXTURE_FETCH = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 24), RSC_MIPMAP_LOD_BIAS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 25),
  RSC_GEOMETRY_PROGRAM = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 26), RSC_HWRENDER_TO_VERTEX_BUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON, 27), RSC_TEXTURE_COMPRESSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 0), RSC_TEXTURE_COMPRESSION_DXT = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 1),
  RSC_TEXTURE_COMPRESSION_VTC = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 2), RSC_FIXED_FUNCTION = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 3), RSC_MRT_DIFFERENT_BIT_DEPTHS = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 4), RSC_ALPHA_TO_COVERAGE = OGRE_CAPS_VALUE(CAPS_CATEGORY_COMMON_2, 5),
  RSC_PERSTAGECONSTANT = OGRE_CAPS_VALUE(CAPS_CATEGORY_D3D9, 0), RSC_GL1_5_NOVBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 1), RSC_FBO = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 2), RSC_FBO_ARB = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 3),
  RSC_FBO_ATI = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 4), RSC_PBUFFER = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 5), RSC_GL1_5_NOHWOCCLUSION = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 6), RSC_POINT_EXTENDED_PARAMETERS_ARB = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 7),
  RSC_POINT_EXTENDED_PARAMETERS_EXT = OGRE_CAPS_VALUE(CAPS_CATEGORY_GL, 8)
}
 Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability. More...
enum  GPUVendor {
  GPU_UNKNOWN = 0, GPU_NVIDIA = 1, GPU_ATI = 2, GPU_INTEL = 3,
  GPU_S3 = 4, GPU_MATROX = 5, GPU_3DLABS = 6, GPU_VENDOR_COUNT = 7
}
 Enumeration of GPU vendors. More...


Define Documentation

#define __RenderSystemCapabilities__   1
 

Definition at line 30 of file OgreRenderSystemCapabilities.h.

#define CAPS_CATEGORY_MASK   (((1 << CAPS_CATEGORY_SIZE) - 1) << OGRE_CAPS_BITSHIFT)
 

Definition at line 50 of file OgreRenderSystemCapabilities.h.

Referenced by Ogre::RenderSystemCapabilities::hasCapability(), Ogre::RenderSystemCapabilities::setCapability(), and Ogre::RenderSystemCapabilities::unsetCapability().

#define CAPS_CATEGORY_SIZE   4
 

Definition at line 48 of file OgreRenderSystemCapabilities.h.

#define OGRE_CAPS_BITSHIFT   (32 - CAPS_CATEGORY_SIZE)
 

Definition at line 49 of file OgreRenderSystemCapabilities.h.

Referenced by Ogre::RenderSystemCapabilities::hasCapability(), Ogre::RenderSystemCapabilities::isCapabilityRenderSystemSpecific(), Ogre::RenderSystemCapabilities::setCapability(), and Ogre::RenderSystemCapabilities::unsetCapability().

#define OGRE_CAPS_VALUE cat,
val   )     ((cat << OGRE_CAPS_BITSHIFT) | (1 << val))
 

Definition at line 51 of file OgreRenderSystemCapabilities.h.


Enumeration Type Documentation

enum Ogre::Capabilities
 

Enum describing the different hardware capabilities we want to check for OGRE_CAPS_VALUE(a, b) defines each capability.

Enumeration values:
RSC_AUTOMIPMAP  Supports generating mipmaps in hardware.
RSC_BLENDING 
RSC_ANISOTROPY  Supports anisotropic texture filtering.
RSC_DOT3  Supports fixed-function DOT3 texture blend.
RSC_CUBEMAPPING  Supports cube mapping.
RSC_HWSTENCIL  Supports hardware stencil buffer.
RSC_VBO  Supports hardware vertex and index buffers.
RSC_VERTEX_PROGRAM  Supports vertex programs (vertex shaders.
RSC_FRAGMENT_PROGRAM  Supports fragment programs (pixel shaders).
RSC_SCISSOR_TEST  Supports performing a scissor test to exclude areas of the screen.
RSC_TWO_SIDED_STENCIL  Supports separate stencil updates for both front and back faces.
RSC_STENCIL_WRAP  Supports wrapping the stencil value at the range extremeties.
RSC_HWOCCLUSION  Supports hardware occlusion queries.
RSC_USER_CLIP_PLANES  Supports user clipping planes.
RSC_VERTEX_FORMAT_UBYTE4  Supports the VET_UBYTE4 vertex element type.
RSC_INFINITE_FAR_PLANE  Supports infinite far plane projection.
RSC_HWRENDER_TO_TEXTURE  Supports hardware render-to-texture (bigger than framebuffer).
RSC_TEXTURE_FLOAT  Supports float textures and render targets.
RSC_NON_POWER_OF_2_TEXTURES  Supports non-power of two textures.
RSC_TEXTURE_3D  Supports 3d (volume) textures.
RSC_POINT_SPRITES  Supports basic point sprite rendering.
RSC_POINT_EXTENDED_PARAMETERS  Supports extra point parameters (minsize, maxsize, attenuation).
RSC_VERTEX_TEXTURE_FETCH  Supports vertex texture fetch.
RSC_MIPMAP_LOD_BIAS  Supports mipmap LOD biasing.
RSC_GEOMETRY_PROGRAM  Supports hardware geometry programs.
RSC_HWRENDER_TO_VERTEX_BUFFER  Supports rendering to vertex buffers.
RSC_TEXTURE_COMPRESSION  Supports compressed textures.
RSC_TEXTURE_COMPRESSION_DXT  Supports compressed textures in the DXT/ST3C formats.
RSC_TEXTURE_COMPRESSION_VTC  Supports compressed textures in the VTC format.
RSC_FIXED_FUNCTION  Supports fixed-function pipeline.
RSC_MRT_DIFFERENT_BIT_DEPTHS  Supports MRTs with different bit depths.
RSC_ALPHA_TO_COVERAGE  Supports Alpha to Coverage (A2C).
RSC_PERSTAGECONSTANT  Is DirectX feature "per stage constants" supported.
RSC_GL1_5_NOVBO  Supports openGL GLEW version 1.5.
RSC_FBO  Support for Frame Buffer Objects (FBOs).
RSC_FBO_ARB  Support for Frame Buffer Objects ARB implementation (regular FBO is higher precedence).
RSC_FBO_ATI  Support for Frame Buffer Objects ATI implementation (ARB FBO is higher precedence).
RSC_PBUFFER  Support for PBuffer.
RSC_GL1_5_NOHWOCCLUSION  Support for GL 1.5 but without HW occlusion workaround.
RSC_POINT_EXTENDED_PARAMETERS_ARB  Support for point parameters ARB implementation.
RSC_POINT_EXTENDED_PARAMETERS_EXT  Support for point parameters EXT implementation.

Definition at line 70 of file OgreRenderSystemCapabilities.h.

enum Ogre::CapabilitiesCategory
 

Enumerates the categories of capabilities.

Enumeration values:
CAPS_CATEGORY_COMMON 
CAPS_CATEGORY_COMMON_2 
CAPS_CATEGORY_D3D9 
CAPS_CATEGORY_GL 
CAPS_CATEGORY_COUNT  Placeholder for max value.

Definition at line 56 of file OgreRenderSystemCapabilities.h.

enum Ogre::GPUVendor
 

Enumeration of GPU vendors.

Enumeration values:
GPU_UNKNOWN 
GPU_NVIDIA 
GPU_ATI 
GPU_INTEL 
GPU_S3 
GPU_MATROX 
GPU_3DLABS 
GPU_VENDOR_COUNT  placeholder

Definition at line 201 of file OgreRenderSystemCapabilities.h.


Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:46:45 2009