RELIEFER ==============================================
| Что это? | Обзор | Получение | Использование | Лицензия |
| ENU | RUS |

Обзор

В трехмерной графике для более приближенного к реальности отображения геомтрии применяются разного рода техники. Наиболее интересные из них те, что при минимальных затратах ресурсов дают максимальный эффект. Технология компьютерной обработки трех измерений ввиду определенных причин избирает в качестве примитивов треугольные грани. Для получения сколь угодно сложной геометрической формы используется совокупность этих минимальных примитивов. Существуют достаточно понятные ограничения максимального числа треугольников, с которыми могут работать программы и оборудование. Чем больше треугольников мы используем, тем более близким к реальности будет выглядеть форма геометрического объекта, но тем большие вычислительные ресурсы потребуются для ее отображения.

Существование предела, дальше которого не имеет смысла увеличивать число примитивов, из которых состоит геометрия, существенно ограничивает возможности. Наряду с этим существуют распространенные техники, позволяющие улучшить отображение геометрии без увеличения числа примитивов. Эти техники главным образом используются для работы с освещением и микрофактурой трехмерных объектов, позволяя достигать достаточно хороших результатов с минимумом накладных расходов. Имеется ввиду использование алгоритмов рендеринга с применением карт нормалей (Normal Mapping) и карт рельефа (Relief Mapping). Обычно они представляют из себя двухмерные текстуры: карта нормалей - трехкомпонентная, в которой каждый компонент RGB представляет координаты вектора нормали XYZ; карта рельефа - однокомпонентная, значение является глубиной или высотой фрагмента, на который налагается тексел текстуры.

Эти техники достаточно хороши для большого числа программных приложений, применяющих для отображения трехмерную графику, но они порождают проблемы, связанные с получением этих самых карт рельефа и нормалей, которые индивидуальны для разных объектов. Существуют различные подходы к решению этих проблем, самым простым, но и самым трудоемким из которых является ручное рисование текстурной карты в каком-либо растровом графическом редакторе (например GIMP (GNU Image Manipulation Program). При этом подходе обычно создают карту рельефа, и на ее основе с помощью специальных программ или плагинов (например Normalmap к GIMP) производится вычисление карты нормалей. Следует иметь ввиду, что этот достаточно простой подход практически неприменим на сложной геометрии.

Также существует другая возможность, для реализации которой разработано представленное в этом руководстве программное обеспечение. Подход строится на вычислении соответствующих карт нормалей и рельефа на основе двух представлений формы одного и того же геометрического объекта. Одно представление формы содержит большое число примитивов, оно носит название высоко-полигональной модели (hi-poly mesh) и является наиболее близким к реальности, другое - состоит из много меньшего числа примитивов и называется низко-полигональной моделью (low-poly mesh), оно то и предназначено для рендеринга. Карты нормалей и рельефа вычисляются для низко-полигональной модели на основе сравнения ее с высоко-полигональной, которая далее больше не используется.

Рельефер задуман как самостоятельная программа, для работы с ней в среде различных редакторов требуется соответствующий плагин или скрипт. На момент написания данного руководства разработан скрипт интеграции с пакетом трехмерного моделирования Blender.

Last modified: Thu Jul 24 14:03:01 YEKST 2008
Technical/Developing: Phoenix Kayo <phoenix11@users.sourceforge.net>
Technical/Documenting: Snegovick <snegovick@users.sourceforge.net>
============================================== RELIEFER