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

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

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

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

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

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

Примитивы

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

Нормальные векторы поверхностей и вершин

Каждая грань в сетке имеет вектор-нормаль перпендикулярной единицы. Направление вектора определяется порядком определения вершин и типом системы координат (правосторонняя или левосторонняя).

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

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

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

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

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

В Direct3D вершины описывают положение и ориентацию. Каждая вершина в примитиве описывается вектором, который сообщает ее положение, цвет, координаты текстуры, и вектором нормали, который позволяет узнать ее ориентацию.

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

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

Окна просмотра и обрезка

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

 

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