Это команда obj2mesh, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
obj2mesh - создать скомпилированный файл сетки RADIANCE из ввода Wavefront .OBJ
СИНТАКСИС
obj2mesh [ -a матфайл ][ -l Matlib ][ -n обжлим ][ -r Максрес ][ -w ] [ input.obj [
вывод.rtm ]]
ОПИСАНИЕ
Obj2mesh читает файл Wavefront .OBJ из input.obj (или стандартный ввод) и компилирует
его в сетку треугольника RADIANCE, которая отправляется в вывод.rtm (или стандартный вывод). Любой
Описание материалов RADIANCE включено через один или несколько -a варианты будут скомпилированы и
также хранится в сетке. Если -l опция используется для указания файла материала,
Выполняется поиск мест в библиотеке RADIANCE. Эта сетка может быть включена в сцену RADIANCE.
описание через сетке примитивный, таким образом:
идентификатор модовой сетки
1+ output.rtm [аргументы xform]
0
0
Синтаксис и семантика идентичны RADIANCE. пример примитивный. Если модуль is
"void", то сохраненные материалы сетки будут применены во время рендеринга. В противном случае
данный материал будет заменен на всех поверхностях сетки.
Команда -n Опция определяет максимальный размер набора поверхностей для каждого воксела. Большие числа
приводит к более быстрой генерации сетки, но потенциально более медленной визуализации. Значения ниже 6 являются
не рекомендуется, так как это средняя валентность для вершины сетки (количество
соседние грани), а меньшие значения приведут к бессмысленному разделению октодерева. В
настройка по умолчанию - 9.
Команда -r опция определяет максимальное разрешение октодерева. Это должно быть больше или
равняется отношению ограничивающего прямоугольника сетки к наименьшему треугольнику. По умолчанию
16384.
Команда -w опция подавляет предупреждения.
Хотя формат файла сетки является двоичным, он предназначен для переноса между машинами. В
Единственное ограничение - машины с радикально разными целочисленными размерами не будут работать.
одновременно.
ПОДРОБНЕЕ
Следующие операторы Wavefront понимаются и компилируются obj2mesh.
v x y z Местоположение вершины, заданное ее декартовыми координатами. Окончательное положение сетки
могут, конечно, быть изменены аргументами преобразования, переданными в сетке примитивный
в описании сцены Radiance.
vn dx dy dz
Вектор нормали вершины, заданный его тремя компонентами направления, которые будут
нормализовано obj2mesh. Нормали будут интерполированы по сетке во время
рендеринг для получения гладкой поверхности. Если нормали вершин отсутствуют,
сетка будет выглядеть мозаичной. Нормаль нулевой длины (т. Е. 0 0 0) сгенерирует
ошибка синтаксиса.
vt u v Локальная координата текстуры вершины. Эти координаты будут интерполированы и
передается в переменные "Lu" и "Lv" во время рендеринга. Местные координаты могут
распространяться на любой желаемый диапазон значений.
усемтл имя
Материальное имя. Следующие лица будут использовать названный материал, который
взяты из определений материалов в -a входной файл (ы).
g имя Групповое объединение. Следующие лица связаны с указанной группой. Если
нет оператора "usemtl", текущая группа используется для
идентификатор материала поверхности.
f v1 / t1 / n1 v2 / t2 / n2 v3 / t3 / n3 ..
Многоугольное лицо. Вершины многоугольника указываются в виде трех индексов, разделенных знаком
слэши ('/'). Первый индекс - это местоположение вершины, второй индекс - это
локальная (u, v) координата текстуры, а третий индекс - поверхность вершины
обычный. Положительные индексы отсчитываются от начала ввода, где первые
положение вершины ( v оператор) пронумерован 1, и аналогично для первой текстуры
координата и первая нормаль поверхности. Отрицательные индексы отсчитываются от
текущая позиция во входных данных, где -1 - последняя встреченная вершина, -2
- предыдущий и т. д. Для текстуры вершины можно использовать индекс 0.
или нормально, чтобы не указывать, или их можно полностью исключить. Все лица будут
быть разбитым на треугольники в финальной сетке. Obj2mesh в настоящее время делает небезопасным
предположение, что грани выпуклые, что может привести к нечетным результатам, если они
не.
Все остальные типы операторов при вводе игнорируются. Заявления понимаются
obj2rad(1) будет игнорироваться молча; другие операторы будут генерировать предупреждающее сообщение
после перевода, чтобы указать, сколько было пропущено.
ДИАГНОСТИКИ
Obj2mesh сообщает о четырех основных типах ошибок:
предупреждение - нефатальная ошибка, связанная с вводом
фатальный - неисправимая ошибка, связанная с вводом
system - системная ошибка
внутренняя - фатальная ошибка, связанная с ограничениями программы
согласованность - программная ошибка
Большинство ошибок говорят сами за себя. Однако следующие внутренние ошибки должны быть
отметил:
Установить переполнение в addobject (id)
Эта ошибка возникает, когда слишком много поверхностей расположены близко друг к другу в сцене. Иногда
плотная сетка может быть размещена путем увеличения максимального разрешения (на
два) с помощью -r вариант, но обычно эта ошибка указывает на то, что что-то не так.
Либо слишком много поверхностей лежат друг на друге, либо ограничивающий куб
раздувается из разрозненной геометрии во входных данных. Скорее всего, номер лица
«id» находится рядом с тем, кто вызывает проблему.
Переполнение хеш-таблицы в fullnode
Эта ошибка вызвана слишком большим количеством поверхностей, и есть небольшая надежда на компиляцию
эта сетка.
ПРИМЕРЫ
Чтобы создать скомпилированную треугольную сетку из файла сцены mesh.obj, используя материалы из
файл mesh.mat:
obj2mesh -a сетка.мат сетка.obj сетка.rtm
Чтобы использовать локальные координаты для размещения квадратного мозаичного изображения на сетчатом объекте:
пустота colorpict tiled_pat
7 красный зеленый синий mytile.hdr. frac (Lu) frac (Lv)
0
0
tiled_pat пластиковая tiled_mat
0
0
5 .9 .9 .9 0 0
tiled_mat сетка tiled_mesh
1 mymesh.rtm
0
0
ОКРУЖАЮЩАЯ СРЕДА
RAYPATH каталоги для поиска файлов материалов.
Используйте obj2mesh онлайн с помощью сервисов onworks.net