Примитивы трёхмерной графики
-
Анализ структуры пространственных данных
Больше всего примитивов, присвоенных родительским узлам, имеет алгоритм бинарного весового дерева, примерно раза в полтора больше, чем у октарных деревьев, меньше всего - алгоритм октарного дерева, чуть больше алгоритм октарного весового дерева
-
Вкладка
Категория Geometry содержит большое число стандартных объектов, и что бы создать один из них нужно просто выбрать название объекта и кликнуть в окне проекции
-
Заключение
Они имеют примерно одинаковые показатели FPS, при этом, бинарное весовое пропорциональное дерево гораздо быстрей разбивает сцену, но у него достаточно сложно найти максимально допустимое количество примитивов в листе, при котором FPS максимальна
-
Исследуемые алгоритмы
Октарное дерево - это наиболее универсальное решение, которое позволяет увеличить скорость перерисовки почти всех типов и видов данных ГИС, начиная с рельефов, зданий, отдельных объектов, деревьев, данных для геологических исследований
-
Канал Refraction
Аналогичного результата можно добиться без использования текстрной карты Raytrace в канале Refraction и получить эффект преломления света с помощью нестандартного материала Raytrace
-
Карта Raytrace
В качестве второго материала можно, например, просто задать какой-либо цвет, чтобы придать вазе некоторый оттенок
-
Критерий определения листа
Но в таком случае, необходимо проверять разбиваемый массив на наличие дублирующих примитивов, иначе алгоритм разбиения на дерево может зациклиться
-
Материал типа Raytrace
Эффекты отражения и прозрачности здесь не учитываются, они определяются другими параметрами и накладываются поверх рассеянного освещения
-
Многокомпонентный материал Multi/Sub-Object
Поскольку до этого в составном материале вы создали три различных подматериала, то вам следует выбрать три группы полигонов
-
Моделирование подушки
Перейдите в видовое окно Left или Front и с помощью инструмента Select and Uniform Scale сожмите точки вдоль оси Y так, чтобы верхний ряд точек приблизился к нижнему ряду точек
-
Модификации бинарных деревьев
Но если предполагается, что данные ГИС, это большие массивы рельефа, с зданиями, сооружениями, подземными и надземными, то примитивы будут распределены по горизонтали больше, чем по вертикали, и FPS весового бинарного и весового октарного дерева может оказаться выше, чем у октарного
-
Непримитивные примитивы
Первый из них является менее точным, но более удобным - вам надо всего лишь нажать на нужный примитив, затем направить курсор мыши на одно из основных окон рабочего стола 3D Studio Max, нажать левую кнопку мыши, провести ее в нужном вам направлении, задав размеры примитива, и наконец нажать второй раз левой кнопкой мыши
-
Нюансы реализации
Ситуацию, когда один примитив, при разбиении октарным деревом, относится сразу к нескольким листам, можно решить несколькими способами
-
Параметр Amount и канал Bump
Текстурная карта в канале Bump не оказывает влияния на геометрию поверхности объекта, а создает лишь имитацию рельефа
-
Подробнее о каналах
Поэтому в редакторе Photoshop поочередно откройте текстурные карты, наложенные на эти поверхности, и превратите их в черно-белые, как показано на рис
-
Полигональные сетки
Если Вы замените содержимое основного скрипта вот этим, то сможете созерцать фигуру чем-то смахивающую на шнурок, который стоит на одном своем конце и активно пытатся что-то найти другим
-
Применение материалов Multi/Sub-Object и Raytrace
Каждый из этих материалов будет назначаться тем участкам колбы, которым присвоен соответствующий идентификатор
-
Примитивы
В действительности стандартные примитивы используются крайне редко, поскольку из редакторов 3D графики, обычно, импортируются уже готовые модели, но для понимания принципов работы Shockwave3D эти знания будут полезными
-
Примитивы в 3D Max
В данном уроке мы рассмотрим основы работы с примитивами в программе 3D Max, включая настройку их параметров
-
Работа с текстурными картами
Затем, оставив коробку выделенной, откроем окно редактора материалов, выберем уже другую свободную ячейку из верхней части и, как и раньше, переходим в свиток Maps и против параметра Diffuse Color нажимаем кнопку None
-
Работа со стандартными примитивами
Также работаем на виде Top, задавая в нем площадь, а затем перемещением мыши вверх и вниз высоту
-
Результаты экспериментов
При различном положении наблюдателя в область видимости попадают разные части сцены, при этом процент видимости примитивов и FPS меняются, что позволяет объективно сравнить алгоритмы
-
Скорость работы алгоритмов
Хотя максимальные значения FPS у этих алгоритмов почти равны, но найти максимальное значение FPS у алгоритма октарного дерева значительно проще, так как значение FPS у этого алгоритма максимально при максимально допустимом количестве примитивов в листе около 300
-
Создание слоёв в древовидной структуре
И удачней второго способа тем, что проверка на необходимость вывода на экран невидимого слоя производится над группой примитивов целиком, а не по отдельным примитивам
-
Составные материалы
Используя данный материал, можно нанести на поверхность объекта два материала, один из которых назначается верхней части объекта, а другой нижней
-
Сравнительный анализ алгоритмов разбиения трехмерных сцен на деревья графических примитивов
Используя эти данные, можно модифицировать алгоритм и улучшить его производительность, или произвести эффективный выбор алгоритма для специализированного набора данных
-
Текстурные карты и каналы
Поэтому на данных каналах принято подключать в качестве карт черно-белые изображения или изображения в градациях серого цвета
-
Типы примитивов
Если вы не нашли в этом уроке то, чего искали, то не постесняйтесь и напишите предложение или вопрос в комментарии
-
Типы текстурных карт
По сравнению с Raytrace обеспечивает генерацию менее достоверных эффектов отражения и преломления, но зато более проста в настройке;
-
Что такое OpenGL?
Я самолично написал модели протеина и геля, которые использую т GLUT и OpenGL, и мне удалось скомпилировать и без проблем запустить модели, не меняя ни строчки кода на Linux-Intel, Linux-Alpha, и Windows 95