Программирование графики с использованием Direct3D

       

Параметры визуализации


Устройства могут применяться для изменения параметров визуализации. Например, функции GetQuality() и SetQuality() позволяют задать режим визуализации (Гуро, равномерная закраска и т.д.) используемый устройством при визуализации сцены. Отдельные объекты могут переопределять параметры визуализации только если задаваемая схема визуализации более простая, чем схема, заданная для устройства. По умолчанию для визуализации устанавливается режим равномерной закраски.

Функции GetShades() и SetShades() позволяют контролировать количество оттенков заданного цвета, используемых устройством при визуализации сцены. Параметр часто изменяется в зависимости от глубины цвета используемого видеорежима. По умолчанию используется 32 оттенка, но этого недостаточно для 24- и 32-разрядных видеорежимов. Можно поэкспериментировать с различными значениями параметра (значения должны быть степенями двойки), чтобы определить наилучшее для вашего приложения значение.

Функции GetDither() и SetDither() позволяют включить или выключить передачу полутонов (dithering). Передача полутонов — это техника, позволяющая эмулировать большее количество цветов, чем фактически доступно, и полезная для видеорежимов с малым количеством цветов (обычно 256 или меньше, но и для видеорежимов, которые поддерживают шестьдесят четыре тысячи цветов, эта методика также может быть полезна). По умолчанию передача полутонов разрешена.


Конструктор сеток позволяет манипулировать различными прааметрами отображения сеток, такими как цвет, текстуры и режим визуализации. Для этого используются следующие функции:
  • GetPerspective()

  • GetQuality()

  • GetTextureCoordinates()

  • SetColor()

  • SetColorRGB()

  • SetPerspective()

  • SetQuality()

  • SetTexture()

  • SetTextureCoordinates()

  • SetTextureTopology()

  • Функции SetColor() и SetColorRGB() применяются для назначения цветов граням сеток. Функция GetColor() отсутствует, поскольку нет никакой гарантии, что все грани сетки будут иметь один и тот же цвет.
    Функции GetQuality() и SetQuality() применяются для установки режима визуализации сетки (каркасный, равномерная закраска, метод Гуро ит.д.). Однако, имеется одно ограничение: Direct3D изменит режим визуализации конструктора сеток, если параметры устройства, на котором сетка будут отображаться, настроены на более простой режим визуализации. Например, если параметры устройства настроены на использование каркасного режима, все конструкторы сеток, использующие равномерную закраску или метод Гуро, будут отображаться в каркасном режиме.
    Функция SetTexture() назначает конструктору сеток указанную текстуру. С помощью функций GetTextureCoordinates(), SetTextureCoordinates() и SetTextureTopology() задаются атрибуты текстуры. Обычно вместо этих функций предпочтительнее использовать наложение текстуры, обсуждаемое далее в этой главе.
    Функции GetPerspective() и SetPerspective() применяются для включения и отключения перспективной коррекции текстур. Перспективная коррекция текстур гарантирует, что текстуры корректно отображаются в соответствии с местоположением и ориентацией зрителя, но требует дополнительных вычислений. В общем случае коррекция перспективы необходима для текстур, наносимых на большие грани расположенные близко к зрителю. Для удаленных от зрителя сеток коррекция может быть отключена. Если во время анимации текстуры начинают скользить и перемещаться по граням сетки — настало время включить перспективную коррекцию.

    Содержание раздела