Build 1119 (xrDO)

Материал из Zone Chronicles
Перейти к: навигация, поиск
X-Ray SDK: Detail Objects Compiler
Успешное завершение компиляции на ОС Windows 10
Успешное завершение компиляции на ОС Windows 10
Номер сборки1119
Дата компиляции25 января 2002
В составе xrDO_Light.exe
Работоспособностьзапускается / работает
Защита

Компилятор освещения детальных объектов, присутствует в полном составе в составе SDK 1097, под именем xrDO_Light.exe.

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

Является одной из первых версий компилятора детальных объектов, самая старая версия, которая известна сообществу. Задачами компилятора является просчет освещения детальных объектов[прим. 1], посредством проецирования излучаемого от хемисферы света на их геометрию, которая хранится в детейл-слотах (англ. Detail slots).

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

Расставлять брашем не очень удобно из-за того что нужно менять сам террейн, проще пресетами перегенерять.
Плюс генеренное легче балансировать по кол-ву, меньше памяти на уровень необходимо что-то типа пару бит на квад.


Александр Максимчук

Первая версия системы детальных объектов была создана еще в конце 2000 года[прим. 2][источник 1] и представляла из себя инструмент под названием DPatch, с принципом работы и функционалом которого можно ознакомиться в SDK 756. Однако, в конце осень 2001 года от этой системы решено было отказаться, заменив на более подходящий вариант. В ноябре была создана система кластеров, как новый инструмент в редакторе уровней, представляющий собой прототип системы детейл-слотов и как переходной вариант между системой DPatch и самими слотами, которая содержала примерно части функционала от обеих инструментов, но о системе кластеров известно очень мало.

В середине января 2002 года, система кластеров была полностью переоформлена в систему детейл-слотов, где размещение детальных объектов происходит через генерацию по специальной карте-текстуры, где определенная модель травы привязывается к конкретному цвету, нарисованному на текстуре карты и квадами покрывает весь террейн. С того момента сама система расстановки детальных объектов в общем не менялась, а компилятор дорабатывался. Данная версия является фактически самой первой из компиляторов xrDO_Light.

Форма системы кластеров из неизвестной версии редактора

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

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

Компилятор не использует для запуска какие-либо библиотеки, которые являются частью движка X-Ray. Для его работы нужен build.prj[прим. 3], build.cform[прим. 4] и level.details[прим. 5] собранной сцены[источник 2], для начала просчета освещения.

Основные функции компилятора:

  • Были добавлены ключи запуска компилятора: -f, -h/-?, -o[прим. 6][прим. 7][источник 3];
  • Для просчета освещенности детальных объектов используется хемисфера низкого качества из 26-ти вершин[прим. 8];

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

Компилятор можно запустить при наличии виртуального диска X, ссылаемого на директорию с компилятором. Для этого нужно создать .bat файл с следующим содержимым:

@%systemroot%\system32\subst.exe x: .

Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать:

x:\xrLC.exe -f %1 

Где -f — ключ, осуществляющий компиляцию, а %1 — имя собранной в редакторе сцены.

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

  • Первый известный отдельный компилятор детальных объектов.
  • Несмотря на то, что система детальных объектов претерпела такие колоссальные изменения, в составе кода ближайшего компилятор геометрии осталась фаза Detail Patch[прим. 9], обрабатывающая старый формат детальных объектов, которые все-еще можно расставить в SDK ;

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

  1. ^ Любая геометрия, хранящаяся в level.details, в основном это трава
  2. ^ Основываясь на датах первых текстур детальных объектах
  3. ^ Сбор данных о источниках света
  4. ^ Получение коллизии сцены
  5. ^ Получение детейл-слотов, которые будут обрабатываться компилятором
  6. ^ -f <ИМЯ> — главный ключ запуска, отвечающий за компиляцию уровня
    -h (или -?) — ключ для вывода окна о существующих ключах запуска. Если запускать компилятор как обычное приложение, то это окно будет инициализироваться при запуске
    -o — возможность изменить настройки компилируемого уровня, вызывающий окно настройки сцены редактора, которое содержится в библиотеке xrLC_Options.dll
  7. ^ Однако реальная нужда в xrLC_Options.dll отсутствует по той причине, что его настройки предназначены только под xrLC, и при попытке вызова опций настройки здесь, xrDO не будет инициализировать окно
  8. ^ 26 лучей
  9. ^ Компилятор содержит в себе фазу Processing DetailPatches...
Источник
  1. ^
    dtpatch_stone1.tga (03.01.2001)
    dtpatch_stone2.tga (29.12.2000)
    dtpatch_stone5.tga (03.01.2001)
    dp_1 (03.01.2001)
    dp_2 (03.01.2001)
    dp_3 (09.01.2001)
    dp_4 (03.01.2001)
  2. ^ C:\Projects\xrLC\xrDO_Light\compiler.cpp (файл упоминается в двоичном коде приложения)
  3. ^ C:\Projects\xrLC\xrDO_Light\xrDO_Light.cpp (файл упоминается в двоичном коде приложения)