Home -> IGraphicsDevice

Declaration

class IGraphicsDevice;

Description

The IGraphicsDevice interface is used to query information on a given graphics device in the system, which is reported as being available for use by the underlying renderer API the render plugin uses. Device objects are obtained via the IGraphicsDeviceEnumerator interface. The IGraphicsDevice interface exposes information on device characteristics, limits, and levels of support for various features. By calling the CreateRenderer method, a new IRenderer object can be constructed, which can then be used to perform rendering tasks. Multiple IRenderer objects can be constructed and used totally independently, either for the same device or other devices.

ImportantImportant

Note that IGraphicsDevice objects cannot be created or destroyed by the application, but are returned by an IGraphicsDeviceEnumerator. IGraphicsDevice objects will remain valid and usable as long as the IGraphicsDeviceEnumerator which created them remains alive, but as soon as the owning IGraphicsDeviceEnumerator object is destroyed, all returned IGraphicsDevice objects are destroyed and can no longer be used. Any IRenderer objects created through devices remain valid however, and are not destroyed until the application releases its references to them.

Enumerations

Name Description
Public Enum DeviceType
The type of the device, such as whether it is an integrated, discrete, or software graphics device.
Public Enum MemoryType
The types of memory potentially available to the graphics device
Public Enum Feature
The set of features for which support is optional
Public Enum DepthRange
Specifies the valid range of depth values under the device for the underlying graphics API
Public Enum Vendor
Specifies a set of known graphics device vendors

Structures

Name Description
Public Struct ImageLimits
Information on limits which relate to images, as returned by the GetImageLimits method.
Public Struct ShaderLimits
Information on limits which relate to shaders, as returned by the GetShaderLimits method.
Public Struct DrawLimits
Information on limits which relate to the draw process, as returned by the GetDrawLimits method.
Public Struct FrameBufferLimits
Information on limits which relate to framebuffers, as returned by the GetFrameBufferLimits method.
Public Struct DataBufferLimits
Information on limits which relate to data buffers, as returned by the GetDataBufferLimits method.

Members

Info methods

Name Description
Public member GetDeviceType
Returns the detected type of the device, such as whether it is an integrated, discrete, or virtual graphics device.
Public member GetVendor
Returns the name of the vendor who produced the graphics device, as an enumeration entry in a set of known vendors.
Public member GetVendorName
Returns the name of the vendor who produced the graphics device
Public member GetDeviceName
Returns the name of the graphics device
Public member GetDriverInfo
Returns information on the graphics driver for this device
Public member GetMemorySizeInBytes
Returns the total size of the specified memory type available to the graphics device

Limit methods

Name Description
Public member GetImageLimits
Returns information on limits imposed by the device which relate to images
Public member GetShaderLimits
Returns information on limits imposed by the device which relate to shaders
Public member GetDrawLimits
Returns information on limits imposed by the device which relate to drawing operations
Public member GetFrameBufferLimits
Returns information on limits imposed by the device which relate to framebuffers
Public member GetDataBufferLimits
Returns information on limits imposed by the device which relate to data buffers

Feature methods

Name Description
Public member IsFeatureSupported
Returns true if the specified feature is supported
Public member AreAllFeaturesSupported
Returns true if all features in the specified feature set are supported
Public member GetAllSupportedFeatures
Returns the complete set of features supported by the device
Public member IsTextureFormatSupported
Returns true if the specified image and data format combination is supported for texture allocation.

Renderer methods

Name Description
Public member CreateRenderer
Creates and returns a new IRenderer object to perform drawing tasks on this graphics device

See also