S.T.A.L.K.E.R. Wiki

We've Moved! Just as Gamepedia has joined forces with Fandom, this wiki had joined forces with our Fandom equivalent. The wiki has been archived and we ask that readers and editors move to the now combined wiki on Fandom. Click to go to the new wiki.

ПОДРОБНЕЕ

S.T.A.L.K.E.R. Wiki
Advertisement
X-Ray SDK: Level Compiler
Диалоговое окно компилятора
Диалоговое окно компилятора
Номер сборки743
Дата компиляции13/20 апреля 2001
В составе xrLC.exe
xrOcclusion.dll
xrProgressive.dll
xrSTRIPS.dll
Работоспособностьзапускается / работает (условно)
Защита

"LevelBuilder v3.0" beta build — самый старый известный компилятор геометрии, являющийся отдельным приложением. Присутствует в полном составе со всеми вспомогательными библиотеками в папке со сборкой 749.

Описание

Является самой старой[прим. 1] из известных версий компиляторов геометрии, существующих как полноценное отдельное приложение. Был предназначен для компиляции собранной в редакторе уровней геометрии, её оптимизации и просчета освещения.

История сборки

Требовалось больше памяти (адресного пространства), а для 32-битного приложения этот ресурс сильно ограничен.


Олесь Шишковцов

После 25 декабря, когда был собран xrLevelBuilder в качестве динамической библиотеки для редактора, появился вопрос об отделении компиляции геометрии, её оптимизации и просчёта освещения от редактора и создании для этих целей отдельного приложения. Причиной являлось адресное пространство редактора, которое можно было освободить от компиляции. Достаточно быстро проект приложения (.dsp) был изменён на компиляцию .exe приложения и переименован в xrLC.

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

Технические особенности

Компилятор ссылается на библиотеки xrOcclusion.dll и xrProgressive.dll, как и xrLevelBuilder, но по сравнению с ним также читает библиотеку xrSTRIPS.dll, отвечающую за стрипификацию полигонов. В функционале самого приложения появилась реализация просчёта секторов и порталов[прим. 2][источник 1], добавлен просчёт вершинного освещения[прим. 3] и один из алгоритмов глобального освещения — Radiosity[прим. 4][прим. 5].

При этом были убраны фазы Building Hierrarhy, Building PVS и Building RelevantSet из-за дальнейшей нецелесообразности их использования на фоне внедрения системы секторов и порталов, при которых построение уровня теперь шло иначе.

Скачивание и запуск

Полноценный запуск компилятора невозможен, так как отсутствует подходящая версия редактора — компилятор нельзя задействовать из-за отсутствия нужных ресурсов. Для простого запуска нужно:

  1. Создать виртуальный диск X:\, ссылаемый на папку с компилятором. Для этого нужно создать и запустить в папке с компилятором bat-файл с содержимым:
@%systemroot%\system32\subst.exe x: .
  1. В командной строке ввести x:\xrLC.exe или запустить xrLC.exe любым другим способом.
  2. Компиляция уровня вызывается через bat-файл или командную строку, в которые нужно вписать текст x:\xrLC.exe %1, где %1 — имя собранной сцены.

Интересные факты

  • PE-секции файла xrLC.exe имеют дату изменения 20 апреля 2001 года, дата изменения приложения — 3 октября 2003, а в log-файле указано 13 апреля 2001
  • У компилятора отсутствуют какие-либо ключи запуска

Примечания

  1. ^ В более широком смысле самым старым компилятором является xrLevelBuilder.dll, исполненный в виде динамически подключаемой библиотеки для редактора уровней того времени.
  2. ^ Компилятор содержит в себе фазы Building volume-pick database..., Building sectors... и Saving sectors...
  3. ^ Компилятор содержит в себе фазу Calculating vertex lighting....
  4. ^ Работает по принципу того, что освещение, поступающее на поверхность, исходит не только непосредственно от источников света, но и от других поверхностей, отражающих свет. Компилятор принимает булевое выражение, отражающее истину/ложь в использовании этого метода. Если выражение ложно, то для просчёта освещения используется обычный Direct Lighting.
  5. ^ Компилятор содержит в себе фазу Raytracing lightmaps и выводимую строку %d vertex raytraced
Источник
  1. ^ C:\Projects\xrLC\Sector.cpp (файл упоминается в двоичном коде приложения)
Advertisement