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.
Important
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 | |
|---|---|---|
| DeviceType |
The type of the device, such as whether it is an integrated, discrete, or software graphics device.
|
|
| MemoryType |
The types of memory potentially available to the graphics device
|
|
| Feature |
The set of features for which support is optional
|
|
| DepthRange |
Specifies the valid range of depth values under the device for the underlying graphics API
|
|
| Vendor |
Specifies a set of known graphics device vendors
|
Structures
| Name | Description | |
|---|---|---|
| ImageLimits |
Information on limits which relate to images, as returned by the GetImageLimits method.
|
|
| ShaderLimits |
Information on limits which relate to shaders, as returned by the GetShaderLimits method.
|
|
| DrawLimits |
Information on limits which relate to the draw process, as returned by the GetDrawLimits method.
|
|
| FrameBufferLimits |
Information on limits which relate to framebuffers, as returned by the GetFrameBufferLimits method.
|
|
| DataBufferLimits |
Information on limits which relate to data buffers, as returned by the GetDataBufferLimits method.
|
Members
Info methods
| Name | Description | |
|---|---|---|
| GetDeviceType |
Returns the detected type of the device, such as whether it is an integrated, discrete, or virtual graphics device.
|
|
| GetVendor |
Returns the name of the vendor who produced the graphics device, as an enumeration entry in a set of known vendors.
|
|
| GetVendorName |
Returns the name of the vendor who produced the graphics device
|
|
| GetDeviceName |
Returns the name of the graphics device
|
|
| GetDriverInfo |
Returns information on the graphics driver for this device
|
|
| GetMemorySizeInBytes |
Returns the total size of the specified memory type available to the graphics device
|
Limit methods
| Name | Description | |
|---|---|---|
| GetImageLimits |
Returns information on limits imposed by the device which relate to images
|
|
| GetShaderLimits |
Returns information on limits imposed by the device which relate to shaders
|
|
| GetDrawLimits |
Returns information on limits imposed by the device which relate to drawing operations
|
|
| GetFrameBufferLimits |
Returns information on limits imposed by the device which relate to framebuffers
|
|
| GetDataBufferLimits |
Returns information on limits imposed by the device which relate to data buffers
|
Feature methods
| Name | Description | |
|---|---|---|
| IsFeatureSupported |
Returns true if the specified feature is supported
|
|
| AreAllFeaturesSupported |
Returns true if all features in the specified feature set are supported
|
|
| GetAllSupportedFeatures |
Returns the complete set of features supported by the device
|
|
| IsTextureFormatSupported |
Returns true if the specified image and data format combination is supported for texture allocation.
|
Renderer methods
| Name | Description | |
|---|---|---|
| CreateRenderer |
Creates and returns a new IRenderer object to perform
drawing tasks on this graphics device
|