Поделиться через


Сопоставление света с текстурами (Direct3D 9)

Для того чтобы приложение выполнило реалистичную отрисовку трехмерной сцены, оно должно учитывать эффект, который источники света оказывают на сцену. Несмотря на то что такие методы, как равномерная заливка и заливка Гуро, являются эффективными средствами в этом отношении, они могут быть недостаточными для ваших потребностей. Direct3D поддерживает многопроходные и множественные наложения текстуры. Эти возможности позволяют приложению прорисовывать сцены более реалистично по сравнению с прорисовкой сцен только с помощью методов заливки. Применяя одно или несколько сопоставлений света, ваше приложение можно разметить области света и тени на используемых в нем примитивах.

Сопоставление освещения — это текстура или группа текстур, содержащая сведения об освещении в трехмерной сцене. Сведения об освещении можно хранить в альфа-значениях сопоставления света, в значениях цвета или в обоих этих видах значений.

Если вы реализуете сопоставление света с помощью многопроходного наложения текстуры, ваше приложение должно прорисовывать сопоставление света на примитивах при первом проходе. Второй этап следует использовать для отрисовки базовой текстуры. Исключением из этого правила является разметка отраженного света. В этом случае сначала производится отрисовка базовой текстуры, а затем добавляется разметка света.

Множественное наложение текстуры позволяет вашему приложению отрисовывать разметку света и базовую текстуру за один проход. Если оборудование пользователя позволяет применять множественное наложение текстуры, ваше приложение должно использовать это преимущество при выполнении разметки освещения. Это значительно повышает производительность приложения.

С помощью сопоставления освещения приложение Direct3D может создавать разнообразные световые эффекты при отрисовке примитивов. Оно может не только размещать монохромные и цветные источники света, но также и добавлять мелкие детали, такие как блики и рассеянное освещение.

Сведения об использовании наложения текстур Direct3D для создания сопоставлений освещения представлены в следующих разделах.

Наложение текстур