netlib.narod.ru< Назад | Оглавление | Далее >

Определяем, доступно ли устройство

В классе Manager есть много функций, позволяющих определить поддерживает ли ваш адаптер какую-то конкретную возможность. Например, если вы хотите определить, поддерживает ли ваше устройство конкретный формат, и не желаете перечислять все имеющиеся адаптеры и форматы, можно использовать для проверки класс Manager. Для этого применяется следующая функция:

public static System.Boolean CheckDeviceType (System.Int32 adapter,
     Microsoft.DirectX.Direct3D.DeviceType checkType,
     Microsoft.DirectX.Direct3D.Format displayFormat,
     Microsoft.DirectX.Direct3D.Format backBufferFormat,
     System.Boolean windowed, System.Int32 result)

Функцию можно применять, чтобы быстро определить, поддерживает ли устройство тот формат, который вы хотите использовать. Первый параметр — это порядковый номер адаптера, возможности которого мы проверяем. Второй — это тип проверяемого устройства, но почти всегда он будет DeviceType.Hardware. Затем вы указываете форматы вторичного буфера и дисплея, а также в каком режиме будет работать ваше приложение — оконном или полноэкранном. Последний параметр необязателен, если вы его используете, в нем будет возвращен целочисленный код завершения функции (HRESULT в COM). Метод возвращает true, если указан допустимый тип устройства, и false в ином случае.

ОБНАРУЖЕНИЕ ПРЕОБРАЗОВАНИЯ ФОРМАТА
Важно отметить, что в оконном режиме, если оборудование поддерживает соответствующие преобразования цветов, формат вторичного буфера может не совпадать с форматом дисплея. Метод CheckDeviceType возвращает результат независимо от наличия или отсутствия такой поддержки, а для прямой проверки наличия данной возможности можно использовать метод CheckDeviceFormatConversion класса Manager. Полноэкранные приложения не выполняют преобразование цветов. В оконном режиме вы также можете использовать Format.Unknown.

Весьма полезно заранее знать форматы, которые вы собираетесь поддерживать. Если вы уже знаете, что вам нужно, нет необходимости перечислять все возможные комбинации типов устройств и форматов.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz