Build 543

Материал из Zone Chronicles
Перейти к: навигация, поиск
X-Ray SDK: Level Builder
Диалоговое окно программы, полученное из ресурсов библиотеки
Диалоговое окно программы,
полученное из ресурсов библиотеки
Номер сборки543
Дата сборки25 декабря 2000
В составе xrLBuilder.dll
xrOcclusion.dll
xrProgressive.dll
Работоспособностьне запускается / работает
Защита

XRay Engine Level Builder/Optimizer (он же "LevelBuilder v0.4" beta build Compilation date: Dec 25 2000) — компилятор геометрии, работающий в связке с редактором уровней и являющийся динамически подключаемой библиотекой. Присутствует в качестве неиспользуемого файла в двух сборках: 749 и 756.

Описание[править | править код]

Один из самых старых известных компонентов игрового SDK, в то же время являющийся последней и единственной сохранившейся версией. Для его запуска и работы требуется наличие самого SDK игры, когда происходила стадия сборки сцены.

История сборки[править | править код]

Исходя из того, что это самый поздний вариант этой библиотеки и что позже эта библиотека была переписана под функционал полноценного приложения (xrLC), говорит о том, что сборка[прим. 1] уровней, происходила внутри самого редактора и данная библиотека должна была представлять собой набор функций по оптимизации, обработке геометрии и просчёта освещения в сцене.

Возможно, на первых порах разработки движка XRay Engine весь этот функционал был сосредоточен внутри самого редактора уровней, но по имеющейся обрывочной информации нельзя описать точную историю развития движка, редактора и его функционала.

Позже она была выложена пользователем Loxotron на GAMEINATOR forums в сливе сборок от 9 февраля 2011 года.

Технические особенности[править | править код]

xrLBuilder также ссылается на библиотеки xrOcclusion.dll и xrProgressive.dll, которые отвечают за просчёт ряда опционарных фаз компиляции уровней. Достоверно известно о следующих входящих в компилятор фаз по обработке и освещения сцен:

Фазы компиляции xrLBuilder/xrLC к концу 2000 года
Название Описание Опционально?
Converting data structures... Чтение проекта сцены build.prj нет
Optimizing Оптимизация геометрии посредством сшивания близлежащих вершин
Building Normals Создание единого угла нормали вершин, дублирование вершин из-за разных групп сглаживания
Tesselating curves Линейная тесселяция геометрии, плотность сетки указывалась в метрах, в настройке сцены редактора уровней.
После проведения операции фазы оптимизации и сборки нормалей проводились повторно
да
Building Collision form Расчёт коллизии геометрии и создание единой колижн-модели сцены нет
Building RayCast model Использовалась технология RAPID, строящее OBB-дерево, представляющей собой иерархию ориентированных ограничительных рамок.
Алгоритм применялся к «полигонажному супу» — моделям, не содержащим информацию о смежности и не подчиняющиеся топологическим ограничениям, где сами модели могут содержать в себе полигональные разрывы и самопересечения.
Этот алгоритм оптимизировал и сокращал время запроса коллизии геометрии
Building Resolving materials Использовалась технология Spatial Subdivision, разделявшая и распределявшая геометрию сцены на части по прилегающему признаку нет
(кроме указания размера ячейки в метрах)
Build UV mapping Перераспределение развёртки моделей для лайтмапов да
(если создание лайтмапов не было включено, функция не выполнялась)
Merging lightmaps Сбор и распределение развёртки на текстурах лайтмапов
Raytracing Сам просчёт освещения
Merging geometry Сбор запечённой геометрии с учётом сгенерированных дефлекторов
Converting to OpenGraphicsFormat... Конвертация геометрии и создание прогрессивной геометрии нет
(не считая создания самих прогрессивов)
Building Hierrarhy Построение древовидной структуры из распределённой геометрии по принципу от большего к меньшему нет
Building PVS Отбор окклюзии, где потенциально видимые полигоны предварительно вычислялись из заранее заданных в редакторе параметров для ускорения рендеринга да
Building RelevantSet Построение набора ячеек, покрывающих собой весь уровень, в которые входили источники света, glow и окклюдеры, для постепенной их отрисовки в зависимости от размера и дальности расположения от камеры нет
Saving lights, glows, occlusion planes... Сохранение источников света, glow и окклюдеров в чанки
Saving static geometry... Сохранение геометрии сцены, запись в чанки OGF-визуалов геометрии, вершинного буфера, текстур и шейдеров

Скачивание и запуск[править | править код]

Примечания[править | править код]

  1. ^ Понятия «собрать» и «скомпилировать» уровень в то время, было неделимым — весь процесс происходил едино внутри самого редактора уровней того времени.
Источники
  1. \\!Demo_1\xrLBuilder.dll\.rsrc (архив vostnost)