Работа со стандартными шаблонами DirectX

После того как вы познакомились с шаблонами и объектами данных, пришло время рассмотреть, как можно использовать их в своих проектах. Если вы уже знакомы с DirectX SDK, то заметили, что .X файлы широко используются для хранения информации о меше. Поэтому Microsoft снабдила DirectX некоторым количеством шаблонов, которые я называю: стандартные шаблоны DirectX. Эти шаблоны используются для хранения информации, связанной с мешами.

Стандартные шаблоны полезны, т. к. они определяют почти все аспекты трехмерных мешей, так что уделите немного времени на их изучение. Я не буду очень подробно останавливаться на их описании, потому что DirectX SDK содержит множество информации о них, но я приведу краткий обзор каждого шаблона.

Стандартные шаблоны, приведенные в таблице 3.2, имеют соответствующий макрос, который вы применяете для определения используемого в вашей программе объекта данных. Эти макросы определены (используя DEFINE_GUID) в специальном файле - " nnxfguidh ". Макросы GUID стандартных шаблонов очень легко запомнить, т. к. они просто имеют префикс перед своим именем - "D3DRMTID". Например, шаблон "Animation" определяется, используя макрос "D3DRM_TIDAnimation".

Таблица 3.2. Стандартные шаблоны DirectX

Имя шаблона

Описание

Animation

Определяет данные анимации для одного кадра

AnimationKey

Определяет один ключевой кадр для родительского анимационного шаблона

AnimationOptions

Содержит информацию о проигрывании анимации

AnimationSet

Содержит набор шаблонов анимации

Boolean

Содержит логическое значение

Boolean2d

Содержит два логических значения

ColorRGB

Содержит красную, зеленую и синюю компоненты цвета

ColorRGBA

Содержит красную, зеленую и синюю компоненты и значение

 

прозрачности цвета

Coords2d

Определяет два значения координат

FloatKeys

Содержит массив вещественных значений

FrameTransformMatrix

Содержит матрицу преобразования для родительского шаблона "Frame"

Frame

Шаблон кадра ссылок, который определяет иерархию

Header

Заголовок .X файла определяющий версию

IndexedColor

Содержит индексированные значения цвета

Material

Содержит значения цветов материала

Matrix4x4

Содержит матрицу 4x4

Mesh

Содержит данные одного меша

MeshFace

Содержит данные граней меша

MeshFaceWraps

Содержит наложение текстур для граней меша

Таблица 3.2. Стандартные шаблоны DirectX

Имя шаблона

Описание

MeshMaterialList

Содержит список материалов меша

MeshNormals

Содержит нормали, используемые мешем

MeshTextureCoords

Содержит текстурные координаты, используемые мешем

MeshVertexColors

Содержит информацию о цвете вершин меша

Patch

Определяет управляющую сетку

PatchMesh

Содержит сеточный меш (совсем как шаблон "Mesh")

Quaternion

Содержит значение кватерниона

SkinWeights

Содержит массив весов, накладываемых на вершины меша.

Используется для скелетных мешей

TextureFilename

Содержит имя текстуры, используемой в материале

TimedFloatKeys

Содержит массив шаблонов "FloatKeys"

Vector

Содержит координаты трехмерной точки

VertexDuplicationIndices

Сообщает, что вы хотите скопировать вершины из других вершин

XskinMeshHeader

Используется скелетным мешем для определения количества костей

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

Вставка объектов данных и ограничения шаблонов || Оглавление || Доступ к .X файлам