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