netlib.narod.ru | < Назад | Оглавление | Далее > |
Интерфейс Direct3DRMMesh разработан для более быстрой работы с сетками. К сожалению, интерфейс сетки не так прост в использовании, как интерфейс конструктора сеток. Сетки могут быть созданы при помощи функции CreateMesh() интерфейса Direct3DRM и посредством функции CreateMesh() интерфейса Direct3DRMMeshBuilder.
Интерфейс сетки практически целиком предназначен для манипуляций с группами. Группа — это набор граней внутри сетки, которые могут быть обработаны как единая сущность. Для создания и модификации групп используются следующие функции:
Использование этих функций не должно вызывать трудностей — достаточно создать одну или несколько групп. Группы создаются функцией AddGroup(), которая требует, чтобы параметры сетки были заданы на уровне вершин. Это значит, что при создании группы вы должны указать местоположение вершин, нормали и координаты текстур. В сетке могут быть созданы одна или несколько групп, причем параметры каждой группы могут быть легко и быстро изменены.
Для работы с позициями вершин интерфейс Direct3DRMMesh предоставляет функции GetVertices() и SetVertices(). Функция GetVertices() предназначена для получения текущей позиции вершины. После получения параметров вершины можно их изменить и переустановить посредством функции SetVertices(). Это рекомендуемая техника модификации формы сетки в критических по времени ситуациях, таких как анимация вершин и морфинг.
Подобно Direct3DRMMeshBuilder, интерфейс Direct3DRMMesh предоставляет функции Scale() и Translate().
Для создания экземпляра интерфейса Direct3DRMMesh может применяться конструктор сеток. Обычно конструктор сеток используется для загрузки сетки с диска, назначения цветов и текстур, настройки граней, вершин и нормалей. Затем функция CreateMesh() интерфейса Direct3DRMMeshBuilder используется для создания объекта Direct3DRMMesh. Эта техника удобна, но в результате все грани сетки будут принадлежать одной группе. Для создания сетки с несколькими группами необходимо применять функцию AddGroup().
netlib.narod.ru | < Назад | Оглавление | Далее > |