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


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

Преобразование мира изменяет координаты из пространства модели, где вершины определяются относительно локального происхождения модели в мир. В мировом пространстве вершины определяются относительно источника, общего для всех объектов в сцене. Мир преобразует модель в мир.

На следующей схеме показана связь между системой координат мира и локальной системой координат модели.

Схема того, как связаны координаты мира и локальные координаты

Преобразование мира может включать любое сочетание переводов, поворотов и масштабирований.

Настройка матрицы мира

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

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

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