Build 1119 (xrDO): различия между версиями

Материал из Zone Chronicles
Перейти к: навигация, поиск
(Новая страница: «{{Bld-desc |bld-projectchild=X-Ray SDK: Level Compiler |bld-img= |bld-imgdesc=Успешное завершение компиляции на ОС Windows 10 |bld...»)
 
 
Строка 1: Строка 1:
 
{{Bld-desc
 
{{Bld-desc
|bld-projectchild=X-Ray SDK: Level Compiler
+
|bld-projectchild=X-Ray SDK: Detail Objects Compiler
|bld-img=
+
|bld-img=XrDO 1119 Process 01.png
 
|bld-imgdesc=Успешное завершение компиляции на ОС Windows 10
 
|bld-imgdesc=Успешное завершение компиляции на ОС Windows 10
 
|bld-num=1119
 
|bld-num=1119
 
|bld-date=25 января 2002
 
|bld-date=25 января 2002
  +
|bld-incl=xrDO_Light.exe
|bld-incl=xrLC_save.exe<hr>DXT.dll<br>xrDXTC.dll<br>xrLC_Options.dll<br>xrProgressive.dll
 
 
|bld-wrkable=запускается / работает
 
|bld-wrkable=запускается / работает
 
|bld-sec=—}}
 
|bld-sec=—}}
Компилятор геометрии, присутствует в полном составе в составе SDK [[Build 1097 (SDK)|1097]], под именем ''xrDO_Light.exe''.
+
Компилятор освещения детальных объектов, присутствует в полном составе в составе SDK [[Build 1097 (SDK)|1097]], под именем ''xrDO_Light.exe''.
   
 
==Описание==
 
==Описание==
  +
Является одной из первых версий компилятора детальных объектов, самая старая версия, которая известна сообществу. Задачами компилятора является просчет освещения детальных объектов<ref group=прим.>Любая геометрия, хранящаяся в level.details, в основном это трава</ref>, посредством проецирования излучаемого от хемисферы света на их геометрию, которая хранится в детейл-слотах (''англ.'' Detail slots)<!-- <ref group=прим.>Название Detail slots фигурирует в основном в [[Xray SDK/Level Editor|редакторе уровней]], в самом компиляторе они называются нодами</ref>-->.
Исходя из названия файла, этот компилятор делает бейк детальных объектов. А не исходя из названия <!-- Водим--> он тоже делает бейк травы.
 
   
 
==История сборки==
 
==История сборки==
  +
{{Цитата|Расставлять брашем не очень удобно из-за того что нужно менять сам террейн, проще пресетами перегенерять.<br>Плюс генеренное легче балансировать по кол-ву, меньше памяти на уровень необходимо что-то типа пару бит на {{Подсказка|квад|Детейл-слот}}.|[[Александр Максимчук]]}}
[[Александр Максимчук]] решил что рисовать траву и камни кистью в редакторе уровней не экономно и поэтому было решено к чертям собачьим все поменять. Тулза DPatch отправилась в утиль, на смену ей пришла генерация детейлов по карте, где определенная модель травы привязывается к конкретному цвету и квадами покрывает весь террейн, где один квад на тот момент весил всего 2 бита и это круто, не то что ваши браши дебильные. Потом пришел Проф и научил всех рисовать карты детейлов, но рисовал их только он.
 
   
  +
Первая версия системы детальных объектов была создана еще в конце 2000 года<ref group=прим.>Основываясь на датах первых текстур детальных объектах</ref><ref group=источник><br>dtpatch_stone1.tga (03.01.2001)<br>dtpatch_stone2.tga '''(29.12.2000)'''<br>dtpatch_stone5.tga (03.01.2001)<br>dp_1 (03.01.2001)<br>dp_2 (03.01.2001)<br>dp_3 (09.01.2001)<br>dp_4 (03.01.2001)</ref> и представляла из себя инструмент под названием ''DPatch'', с принципом работы и функционалом которого можно ознакомиться в SDK [[Build 756 (SDK)|756]]. Однако, в конце осень 2001 года от этой системы решено было отказаться, заменив на более подходящий вариант. В ноябре была создана система кластеров, как новый инструмент в редакторе уровней, представляющий собой прототип системы детейл-слотов и как переходной вариант между системой ''DPatch'' и самими слотами, которая содержала примерно части функционала от обеих инструментов, но о системе кластеров известно очень мало.
Позже она была выложена пользователем Loxotron на ''GAMEINATOR forums'' в [[Слив сборок 09.02.11|сливе сборок от 9 февраля 2011 года]].
 
  +
  +
В середине января 2002 года, система кластеров была полностью переоформлена в систему детейл-слотов, где размещение детальных объектов происходит через генерацию по специальной карте-текстуры, где определенная модель травы привязывается к конкретному цвету, нарисованному на текстуре карты и квадами покрывает весь террейн. С того момента сама система расстановки детальных объектов в общем не менялась, а компилятор дорабатывался. Данная версия является фактически самой первой из компиляторов ''xrDO_Light''.
  +
[[Файл:Ed FrameCluster.png|thumb|right|312px|Форма системы кластеров из неизвестной версии редактора]]
 
Позже компилятор в составе полной версии [[Build 1097 (SDK)|сборки 1098]] был выложен пользователем Loxotron на ''GAMEINATOR forums'' в [[Слив сборок 09.02.11|сливе сборок от 9 февраля 2011 года]].
   
 
==Технические особенности==
 
==Технические особенности==
  +
В отличие от прошлых версий, компилятор ссылается на библиотеки ''такие-то''. Среди них находится ''xrSpherical.dll'', которая отсутствовала в прошлой известной версии, но была используема компилятором примерно с июля 2001 года до неизвестного срока.
 
  +
Компилятор не использует для запуска какие-либо библиотеки, которые являются частью движка [[X-Ray]]. Для его работы нужен build.prj<ref group=прим.>Сбор данных о источниках света</ref>, build.cform<ref group=прим.>Получение коллизии сцены</ref> и level.details<ref group=прим.>Получение детейл-слотов, которые будут обрабатываться компилятором</ref> собранной сцены<ref group=источник>C:\Projects\xrLC\xrDO_Light\compiler.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref>, для начала просчета освещения.
   
 
Основные функции компилятора:
 
Основные функции компилятора:
  +
* Были добавлены ключи запуска компилятора: ''-f'', ''-h''/''-?'', ''-o''<ref group=прим.>'''-f <ИМЯ>''' — главный ключ запуска, отвечающий за компиляцию уровня<br>'''-h''' (или '''-?''') — ключ для вывода окна о существующих ключах запуска. Если запускать компилятор как обычное приложение, то это окно будет инициализироваться при запуске<br>'''-o''' — возможность изменить настройки компилируемого уровня, вызывающий окно настройки сцены редактора, которое содержится в библиотеке ''xrLC_Options.dll''</ref><ref group=прим.>Однако реальная нужда в ''xrLC_Options.dll'' отсутствует по той причине, что его настройки предназначены только под xrLC, и при попытке вызова опций настройки здесь, xrDO не будет инициализировать окно</ref><ref group=источник>C:\Projects\xrLC\xrDO_Light\xrDO_Light.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref>;
* Он бейкает траву, наверно от хемисферы, надо подумоть;
 
  +
* Для просчета освещенности детальных объектов используется хемисфера низкого качества из 26-ти вершин<ref group=прим.>26 лучей</ref>;
* Если траву не бейкать, он будет черная в игре;
 
* Может еще что-то;
 
   
 
==Скачивание и запуск==
 
==Скачивание и запуск==
 
{{Bld-dwnl
 
{{Bld-dwnl
 
|dwnl-width=210px
 
|dwnl-width=210px
|dwnl-size=575 Кбайт
+
|dwnl-size=25 Кбайт
  +
|dwnl-dl=[https://drive.google.com/file/d/1Tf2Emwc-CEWmBU1TFwKPMz-EgRerVC7q/view?usp=sharing Google Drive]
|dwnl-dl=
 
 
|dwnl-tor=
 
|dwnl-tor=
 
|dwnl-add=
 
|dwnl-add=
Строка 38: Строка 42:
 
Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать:
 
Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать:
 
x:\xrLC.exe -f %1
 
x:\xrLC.exe -f %1
Где ''-f'' — ключ, осуществляющий компиляцию, а ''%1'' — имя собранной в редакторе сцены. Для изменения параметров сцены следует ввести ''-o'', после имени сцены.
+
Где ''-f'' — ключ, осуществляющий компиляцию, а ''%1'' — имя собранной в редакторе сцены.
   
 
==Интересные факты==
 
==Интересные факты==
 
* Первый известный отдельный компилятор детальных объектов.
 
* Первый известный отдельный компилятор детальных объектов.
* Несмотря на то, что система детальных объектов претерпела такие колоссальные изменения, в составе кода ближайшего [[Build 1126 (xrLC)|компилятор геометрии]] осталась фаза Detail Patch<ref group=прим.>Компилятор содержит в себе фазу <code>Processing DetailPatches...</code>, обрабатывающая старый формат детальных объектов, которые все-еще можно расставить в [[Build 1097 (SDK)|SDK ]];
+
* Несмотря на то, что система детальных объектов претерпела такие колоссальные изменения, в составе кода ближайшего [[Build 1126 (xrLC)|компилятор геометрии]] осталась фаза Detail Patch<ref group=прим.>Компилятор содержит в себе фазу <code>Processing DetailPatches...</code></ref>, обрабатывающая старый формат детальных объектов, которые все-еще можно расставить в [[Build 1097 (SDK)|SDK ]];
  +
<!--
 
 
==Галерея==
 
==Галерея==
 
<gallery mode="packed-hover" heights="250px">
 
<gallery mode="packed-hover" heights="250px">
Строка 62: Строка 66:
 
L1 escape part recompile 09.jpg
 
L1 escape part recompile 09.jpg
 
</gallery>
 
</gallery>
  +
-->
 
 
==Примечания==
 
==Примечания==
 
<references group=прим./>
 
<references group=прим./>

Текущая версия на 21:26, 2 марта 2021

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 (файл упоминается в двоичном коде приложения)