Om  1.0.0
A universal framework for multimedia simulation
Public Types | Public Member Functions | List of all members
om::graphics::devices::GraphicsContextCapabilities Class Reference

A class that encapsulates the different capabilities that a graphics context can have. More...

#include <omGraphicsContextCapabilities.h>

Public Types

enum  Capability {
  ANISOTROPIC_FILTERING = (UInt64(1) << 0), NON_POWER_OF_2_TEXTURES = (UInt64(1) << 1), FLOAT_TEXTURES = (UInt64(1) << 2), TEXTURE_ARRAYS = (UInt64(1) << 3),
  TEXTURE_RECTANGLES = (UInt64(1) << 4), RENDER_TO_TEXTURE = (UInt64(1) << 5), MULTIPLE_RENDER_TARGETS = (UInt64(1) << 6), VERTEX_BUFFER_ARRAYS = (UInt64(1) << 7),
  CONSTANT_BUFFERS = (UInt64(1) << 8), VERTEX_SHADERS = (UInt64(1) << 9), FRAGMENT_SHADERS = (UInt64(1) << 10), GEOMETRY_SHADERS = (UInt64(1) << 11),
  TESSELATION_SHADERS = (UInt64(1) << 12), PROGRAM_BINARIES = (UInt64(1) << 13), TRANSFORM_FEEDBACK = (UInt64(1) << 14), INSTANCED_RENDERING = (UInt64(1) << 15),
  UNDEFINED = 0
}
 An enum that specifies the different graphics context capabilities. More...
 

Public Member Functions

 GraphicsContextCapabilities ()
 Create a new graphics context capabilities object with no capabilities set. More...
 
 GraphicsContextCapabilities (Capability capability)
 Create a new graphics context capabilities object with the specified capability value initially set. More...
 
 GraphicsContextCapabilities (UInt64 newCapabilities)
 Create a new graphics context capabilities object with the specified initial combined capabilities value. More...
 
 operator UInt64 () const
 Convert this graphics context capabilities object to an integer value. More...
 
Bool isSet (Capability capability) const
 Return whether or not the specified capability is set for this capabilities object. More...
 
void set (Capability capability, Bool newIsSet)
 Set whether or not the specified capability is set for this capabilities object. More...
 
GraphicsContextCapabilitiesoperator|= (Capability capability)
 Set the specified capability to TRUE in this capabilities object. More...
 
GraphicsContextCapabilitiesoperator|= (const GraphicsContextCapabilities &newCapabilities)
 Set all of the specified capabilities to TRUE in this capabilities object. More...
 

Detailed Description

A class that encapsulates the different capabilities that a graphics context can have.

These capabilities provide boolean information about a certain graphics context. Capabilities are indicated by setting a single bit of a 64-bit unsigned integer to 1.

Enum values for the different capabilities are defined as members of the class. Typically, the user would bitwise-OR the capability enum values together to produce a final set of set capabilities.

Member Enumeration Documentation

An enum that specifies the different graphics context capabilities.

Enumerator
ANISOTROPIC_FILTERING 

A capability flag indicating that anisotropic texture filtering is supported.

NON_POWER_OF_2_TEXTURES 

A capability flag indicating that non power-of-two sized textures are supported.

FLOAT_TEXTURES 

A capability flag indicating that floating-point textures are supported.

TEXTURE_ARRAYS 

A capability flag indicating that texture arrays are supported.

TEXTURE_RECTANGLES 

A capability flag indicating that texture rectangles are supported.

RENDER_TO_TEXTURE 

A capability flag indicating that render-to-texture is supported (e.g. framebuffers).

MULTIPLE_RENDER_TARGETS 

A capability flag indicating that multiple render targets are supported.

VERTEX_BUFFER_ARRAYS 

A capability flag indicating that hardware vertex buffer arrays are supported.

CONSTANT_BUFFERS 

A capability flag indicating that hardware constant buffers are supported.

VERTEX_SHADERS 

A capability flag indicating that vertex shaders are supported.

FRAGMENT_SHADERS 

A capability flag indicating that fragment shaders are supported.

GEOMETRY_SHADERS 

A capability flag indicating that geometry shaders are supported.

TESSELATION_SHADERS 

A capability flag indicating that tesselation shaders are supported.

PROGRAM_BINARIES 

A capability flag indicating that compiled program binaries are supported.

TRANSFORM_FEEDBACK 

A capability flag indicating that vertex transform feedback is supported.

INSTANCED_RENDERING 

A capability flag indicating that instanced rendering is supported.

UNDEFINED 

The capability value when all capabilities are not set.

Constructor & Destructor Documentation

om::graphics::devices::GraphicsContextCapabilities::GraphicsContextCapabilities ( )
inline

Create a new graphics context capabilities object with no capabilities set.

om::graphics::devices::GraphicsContextCapabilities::GraphicsContextCapabilities ( Capability  capability)
inline

Create a new graphics context capabilities object with the specified capability value initially set.

om::graphics::devices::GraphicsContextCapabilities::GraphicsContextCapabilities ( UInt64  newCapabilities)
inline

Create a new graphics context capabilities object with the specified initial combined capabilities value.

Member Function Documentation

om::graphics::devices::GraphicsContextCapabilities::operator UInt64 ( ) const
inline

Convert this graphics context capabilities object to an integer value.

This operator is provided so that the GraphicsContextCapabilities object can be used as an integer value for bitwise logical operations.

Bool om::graphics::devices::GraphicsContextCapabilities::isSet ( Capability  capability) const
inline

Return whether or not the specified capability is set for this capabilities object.

void om::graphics::devices::GraphicsContextCapabilities::set ( Capability  capability,
Bool  newIsSet 
)
inline

Set whether or not the specified capability is set for this capabilities object.

GraphicsContextCapabilities& om::graphics::devices::GraphicsContextCapabilities::operator|= ( Capability  capability)
inline

Set the specified capability to TRUE in this capabilities object.

GraphicsContextCapabilities& om::graphics::devices::GraphicsContextCapabilities::operator|= ( const GraphicsContextCapabilities newCapabilities)
inline

Set all of the specified capabilities to TRUE in this capabilities object.


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