netlib.narod.ru | < Назад | Оглавление | Далее > |
Устройства Direct3D — это объекты, которые создают визуализированное изображение. Direct3D поддерживает несколько типов устройств. Программы могут выбрать устройство из списка доступных устройств или поручить Direct3D выбрать устройство автоматически. Есть два основных типа устройств — программные и аппаратные. Программные устройства позволяют программам работать на компьютерах, которые не оборудованы аппаратными ускорителями трехмерной графики. Аппаратные устройства доступны только на компьютерах, оборудованных соответствующими платами, и позволяют Direct3D полностью использовать возможности, предоставляемые аппаратными средствами.
Устройство представляется интерфейсом Direct3DRMDevice и может быть создано, посредстаом функций интерфейса Direct3DRM. Рассмотрим три способа создания устройства:
После создания устройства оно используется для определения параметров механизма визуализации и выполнения визуализации сцен.
И программные и аппаратные устройства поддерживают две цветовых модели: RGB и Ramp. Цветовая модель RGB поддерживает цветное освещение, а цветовая модель Ramp — нет. Благодаря этому устройства Ramp превосходят по быстродействию устройства RGB. Устройства Ramp также называют монохромными устройствами из-за их одноцветной обработки источников освещения. Это, однако, может ввести в заблуждение, так как в режиме Ramp монохроматическими являются только источники освещения. Сетки и грани в режиме Ramp используют все цветовые возможности.
Устройства могут применяться для изменения параметров визуализации. Например, функции GetQuality() и SetQuality() позволяют задать режим визуализации (Гуро, равномерная закраска и т.д.) используемый устройством при визуализации сцены. Отдельные объекты могут переопределять параметры визуализации только если задаваемая схема визуализации более простая, чем схема, заданная для устройства. По умолчанию для визуализации устанавливается режим равномерной закраски.
Функции GetShades() и SetShades() позволяют контролировать количество оттенков заданного цвета, используемых устройством при визуализации сцены. Параметр часто изменяется в зависимости от глубины цвета используемого видеорежима. По умолчанию используется 32 оттенка, но этого недостаточно для 24- и 32-разрядных видеорежимов. Можно поэкспериментировать с различными значениями параметра (значения должны быть степенями двойки), чтобы определить наилучшее для вашего приложения значение.
Функции GetDither() и SetDither() позволяют включить или выключить передачу полутонов (dithering). Передача полутонов — это техника, позволяющая эмулировать большее количество цветов, чем фактически доступно, и полезная для видеорежимов с малым количеством цветов (обычно 256 или меньше, но и для видеорежимов, которые поддерживают шестьдесят четыре тысячи цветов, эта методика также может быть полезна). По умолчанию передача полутонов разрешена.
netlib.narod.ru | < Назад | Оглавление | Далее > |