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


Системы координат и геометрия

Программирование приложений Direct3D требует знакомства с трехмерными геометрическими принципами. В этом разделе рассматриваются наиболее важные геометрические понятия для создания трехмерных сцен.

В этом разделе

Раздел Описание

Системы координат

Обычно трехмерные графические приложения используют одну из двух типов систем координат Декартиана: левую или правую. В обеих системах координат положительные оси x указывают справа, а положительная ось y — вверх.

Примитивы

Трехмерный примитив — это коллекция вершин, которые образуют одну трехмерную сущность.

Обычные векторы лиц и вершин

Каждое лицо в сетке имеет перпендикулярный обычный вектор единицы. Направление вектора определяется порядком, в котором определяются вершины и по правой или левой системе координат.

Прямоугольники

На протяжении всего программирования Direct3D и Windows объекты на экране называются ограничивающими прямоугольниками. Стороны ограничивающего прямоугольника всегда параллельны стороны экрана, поэтому прямоугольник можно описать двумя точками, верхним левым углом и правым нижним углом.

Интерполяция треугольников

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

Векторы, вершины и кватернионы

На протяжении Direct3D вершины описывают положение и ориентацию. Каждая вершина в примитиве описывается вектором, который дает его положение, цвет, координаты текстуры и обычный вектор, который дает ей ориентацию.

Преобразования

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

Просмотр портов и вырезки

Окно просмотра представляет собой двухмерный прямоугольник (2D), в который проецируется трехмерная сцена. В Direct3D прямоугольник существует в виде координат в поверхности Direct3D, которую система использует в качестве целевого объекта отрисовки. Преобразование проекции преобразует вершины в систему координат, используемую для окна просмотра. Окно просмотра также используется для указания диапазона значений глубины на целевой поверхности отрисовки, в которой будет отображаться сцена (обычно от 0,0 до 1.0).

 

Руководство по обучению графики Direct3D