Системы координат и геометрия
Программирование приложений Direct3D требует знакомства с трехмерными геометрическими принципами. В этом разделе рассматриваются наиболее важные геометрические понятия для создания трехмерных сцен.
В этом разделе
Раздел | Описание |
---|---|
Обычно трехмерные графические приложения используют одну из двух типов систем координат Декартиана: левую или правую. В обеих системах координат положительные оси x указывают справа, а положительная ось y — вверх. |
|
Трехмерный примитив — это коллекция вершин, которые образуют одну трехмерную сущность. |
|
Каждое лицо в сетке имеет перпендикулярный обычный вектор единицы. Направление вектора определяется порядком, в котором определяются вершины и по правой или левой системе координат. |
|
На протяжении всего программирования Direct3D и Windows объекты на экране называются ограничивающими прямоугольниками. Стороны ограничивающего прямоугольника всегда параллельны стороны экрана, поэтому прямоугольник можно описать двумя точками, верхним левым углом и правым нижним углом. |
|
Во время отрисовки конвейер интерполирует данные вершин по каждому треугольнику. Данные вершин могут быть широким спектром данных и могут включать (но не ограничиваются): диффузный цвет, зрительный цвет, диффузный альфа -(непрозрачность треугольника), зеркальное альфа-представление и фактор тумана. |
|
На протяжении Direct3D вершины описывают положение и ориентацию. Каждая вершина в примитиве описывается вектором, который дает его положение, цвет, координаты текстуры и обычный вектор, который дает ей ориентацию. |
|
Часть Direct3D, которая передает геометрию через конвейер геометрии фиксированной функции, является подсистемой преобразования. Он находит модель и средство просмотра в мире, проекты вершин для отображения на экране, а также вершины клипов в окно просмотра. Модуль преобразования также выполняет вычисления освещения для определения диффузных и зрительных компонентов на каждой вершине. |
|
Окно просмотра представляет собой двухмерный прямоугольник (2D), в который проецируется трехмерная сцена. В Direct3D прямоугольник существует в виде координат в поверхности Direct3D, которую система использует в качестве целевого объекта отрисовки. Преобразование проекции преобразует вершины в систему координат, используемую для окна просмотра. Окно просмотра также используется для указания диапазона значений глубины на целевой поверхности отрисовки, в которой будет отображаться сцена (обычно от 0,0 до 1.0). |
Связанные темы
Руководство по обучению графики Direct3D