Перейти к содержанию
SkyLoader

Универсальные компиляторы уровней х64

Рекомендуемые сообщения

 
   

Graff46 ключ отключает запекание освещения террейна и пересоздавание его текстуры, тем самым ускоряя компиляцию. Нужно для случаев, когда, например, менялась геометрия внутри зданий, и оно не могло повлиять на затенение террейна.

  • Спасибо 1

ts_logo.png.90641dc75d9a159811603d66254d25a9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SkyLoader Можно этот ключ в интерфейс добавить?

Спойлер

325464657_.png.e5b80ab1c1dbc951e49626bc51c8ad78.png

 

Изменено пользователем Graff46

Не ... Сталкер могут сделать только русские.
© С. Григорович.                                                                                                                                                                         03.10.2014

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Предлагаю добавить параметр -nocform для пропуска этапа создания level.cform. Бывают случаи, когда на сверхсложной карте гигантский level.cform долго компилится, вплоть до вылетов, а в игре вообще вылетает по памяти. В то же время,  в игру можно от ранее созданного упрощенного варианта карты подставить упрощенный level.cform, а гигантский всё равно выкидывается.

Изменено пользователем macron

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Спасибо за версию 1.1, насчет пожеланий следующих версий, то это как то попробовать ускорить процес сборки, геометрии и спавна. Мне к примеру приходится очень часто при работе изменять спавн и тестировать, трачу на все минуты 2-3, но при этом делаю сборку часто - чем быстрее тем лучше. 


vDGz4K9.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 10.04.2022 в 02:56, Graff46 сказал:

Можно этот ключ в интерфейс добавить?

Да

 

В 01.05.2022 в 15:52, macron сказал:

Предлагаю добавить параметр -nocform для пропуска этапа создания level.cform.

В то же время,  в игру можно от ранее созданного упрощенного варианта карты подставить упрощенный level.cform, а гигантский всё равно выкидывается.

Можно будет добавить когда-нибудь. И тогда уж для компиляции нужно будет запрашивать не level.cform, а build.cform, как это сделано для детейлов и аи-сетки. 

 

В 04.05.2022 в 16:39, 1_A сказал:

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

Спавн вряд ли получится ускорить, а по геометрии может что-то будет, но не в ближайшее время.

  • Спасибо 1

ts_logo.png.90641dc75d9a159811603d66254d25a9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SkyLoader потестил на ТЧ версию 1.1, заметил такой момент - при сборке аи-сетки похоже не просчитываются укрытия ( ключ -draft не был выставлен). То есть, сетка считается буквально пару минут максимум, хотя на моей локации должна считаться пару часов. Подобная же проблема есть и в старых х64 AI компиляторах от K.D.

Ну, и от себя в список предложений могу добавить - сделать кнопку сохранения прогресса компиляции геометрии. Т.е. что-то типа полного дампа памяти процесса в файл, с возможностью его загрузки, и возобновления компиляции. Было бы очень удобно когда компилируешь локацию по 20-50 часов.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, hi_flyer сказал:

потестил на ТЧ версию 1.1, заметил такой момент - при сборке аи-сетки похоже не просчитываются укрытия ( ключ -draft не был выставлен).

Проверил на ТЧ версии МП АТП. Укрытия просчитываются и зависимость от ключа -draft работает.

Для сравнения версия с просчетом укрытий:

image.png.e9bcf4fc9306955541b12f6bf94db3fc.png

Версия без укрытий (на драфте):

image.png.fdc7b3383e88cc8eda5b21cf8f256090.png

 

Скорее всего тебя смутило только время расчета, а не какие-то проблемы в игре. Во первых, из компиляции был вырезан рудимент в виде освещения АИ-нод. В ЗП компиляторе уже был вырезан расчет освещения нод, а в коде движка ТЧ я не заметил его использования в игре, поэтому эти просчеты также были убраны для ТЧ локаций. Ну и во вторых, компилятор использует все ядра ПК, что ускорило просчеты по сравнению с предыдущими компиляторами.

 

3 часа назад, hi_flyer сказал:

Ну, и от себя в список предложений могу добавить - сделать кнопку сохранения прогресса компиляции геометрии.

В условиях параллельного выполнения задач в компиляторе это будет не просто сделать. На этот счет пока ничего сказать не могу.

Изменено пользователем SkyLoader

ts_logo.png.90641dc75d9a159811603d66254d25a9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, SkyLoader сказал:

Скорее всего тебя смутило только время расчета, а не какие-то проблемы в игре. Во первых, из компиляции был вырезан рудимент в виде освещения АИ-нод. В ЗП компиляторе уже был вырезан расчет освещения нод, а в коде движка ТЧ я не заметил его использования в игре, поэтому эти просчеты также были убраны для ТЧ локаций. Ну и во вторых, компилятор использует все ядра ПК, что ускорило просчеты по сравнению с предыдущими компиляторами.

Да, именно то, что я привык, что сетка довольно долго просчитывалась. Тогда вопросов нет, круто ? 

Кстати, а есть какие новости по возможности запекания лайтмапов на GPU? Насколько я знаю, в xrLC xray oxygen такая возможность уже давно есть. В принципе, с такой возможностью сохранять из памяти ничего и не нужно, лайтмапы довольно шустро должны будут просчитаться. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Странно, вылетает компиляция геометрии.((

xrCompiler.exe -geometry -version shoc -skipinvalid -noise -f level

fbf4f6f65e1a81cf64d4d631aa24999e.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

При компиле ТЧ локи вылетает:
 

Спойлер

* Detected CPU: GenuineIntel Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz, F6/M158/S11
* CPU features: RDTSC, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AES, AVX, FMA3, RDRAND, AVX2
* CPU cores/threads: 4
* RAM: Total memory: 8 Gb

X-ray Exogenesis engine [Universal level compiler edition]
'xrCore' build 4495, Apr  8 2022
Initializing File System...
Using FileSystem ltx:  fsgame.ltx
FS: 125767 files cached 0 archives, 24561Kb memory used.
Init FileSystem 39.993999 sec

Initializing task sheduler...
Task sheduler initialized with 3 threads and 1 task groups
Startup time: 22:32:16, date: 12.7.2022
 
* New phase started: Reading project [l01_escape_1935]...
    |    | Input file version: 17
    |    | Output file version: 17
* Phase ended: Reading project [l01_escape_1935]... - 00:00:00
 
* New phase started: Converting data structures...
    | Vertices...
    |    | *         vertices: 396700
    | Faces...
    |    | *            faces: 689464
    | Models and References
    |    | * Loading model: 'props\objects\musor\trash_traktor_3'
    |    | * Loaded model: 'props\objects\musor\trash_traktor_3' - v(1103/1103), f(2150/2150)
    |    | * Loading model: 'чяяячяяя'
stack trace:

0033:00000000640112DB VCRUNTIME140.dll, memcmp()
0033:000000001F82A326 xrCore.dll, IReader::r()
0033:00000000E6F3A259 xrCompiler_Light.dll, xrMU_Model::Load()
0033:0000000023DBF9E2 xrCompiler_Geometry.dll
0033:0000000023DD179D xrCompiler_Geometry.dll, xrCompileGeometry()
 
[error][       6]    : Неверный дескриптор.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 05.07.2022 в 22:46, macron сказал:

Странно, вылетает компиляция геометрии.((

xrCompiler.exe -geometry -version shoc -skipinvalid -noise -f level

Выглядит как битый билд уровня. Можно перебилдить тем же сдк или другим.

 

В 12.07.2022 в 22:33, St4lker0k сказал:

При компиле ТЧ локи вылетает:

Если уровень билдился сдк от Yara, то так и должно быть. В том сдк был изменен формат проекта уровня, который не поддерживается обычными ТЧшными компиляторами.

  • Мастер! 1

ts_logo.png.90641dc75d9a159811603d66254d25a9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SkyLoader а будет ли в патче 1.2 поддержка сдк от Yara?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
7 часов назад, SkyLoader сказал:

Выглядит как битый билд уровня.

А в целом файлы-проекты больше 2gb поддерживаются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SkyLoader привет.

Я сейчас тестировал компилятор. У меня не получается сохранить сглаживание для тч. Моя команда выглядит так:

start bins\compilers_sky_x64\xrCompiler.exe -geometry -f test_skyloader_compiler_sg -version soc -tex_rgba -static

Но компилятор не сохраняет сглаживание модели, а использует Normal smooth angle. В итоге две одинаковые модели, но с разным форматом сглаживания (одна в ТЧ формате, другая в ЗП) в игре выглядят одинаково, так как Normal smooth angle их одинаково обрабатывает. Компилятор игнорирует группы сглаживания.

 

Я ожидал, что компилятор будет учитывать ТЧ группы сглаживания, если указано -shoc и будет учитывать ЗП сглаживание рёбер, если указано -cop. А если указать -nosmg, то будет использоваться Normal smooth angle.

 

Возможно ли добавить поддержку ТЧ групп? Или в prj файлах для ТЧ о них нет информации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 минут назад, Pavel_Blend сказал:

Или в prj файлах для ТЧ о них нет информации?

Нету. В ТЧ сглаживание используется только для экспорта .ogf из ActorEditor'а, ну и для отображения объектов в самом редакторе. А на уровни не влияет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Modera а ты это по исходникам понял или чисто на практике? Может они сохраняются, но не используются?

Сейчас тестировал с ключом cop и сглаживание всё равно не сохраняется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pavel_Blend из исходников. В чистом небе сглаживание пишется в build.prj в чанк 0x10, ТЧ-LevelEditor такой чанк не записывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Pavel_Blend сказал:

Сейчас тестировал с ключом cop и сглаживание всё равно не сохраняется.

я кажется понял в чём проблема. Компилятор проверяет версию формата *.prj, и если она из сдк 0.5, 0.6, 0.7, то сглаживание (чанк 0x10) будет использоваться. А если версия из сдк 0.4, то не будет, даже если этот чанк есть (сдк от yara его создаёт).

 

Может убрать проверку на версию формата и полагаться только на наличие чанка со сглаживанием?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 21.07.2022 в 20:39, Pavel_Blend сказал:

Может убрать проверку на версию формата и полагаться только на наличие чанка со сглаживанием?

Можно конечно убрать проверку, правда это не совсем безопасно. Помимо чанка со сглаживанием для обычной геометрии еще есть сглаживание для каждого MU объекта (в ЧН/ЗП), и оно не вынесено под отдельный чанк, а лежит вместе с данными о вершинах. Из-за этого можно получить неправильное чтение данных. Но опять же можно положиться чисто на наличие чанка и надеяться, что во входном формате имеется та же зависимость наличия сглаживания MU объектов от наличия чанка. 


ts_logo.png.90641dc75d9a159811603d66254d25a9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SkyLoader я использую сдк для тч от yara. Он наверное всё правильно сохраняет. Я хочу твой компилятор использовать в связке с yara сдк. Если будешь тестировать на этом сдк, то его здесь можно скачать:

https://github.com/X-Ray-Engine-STALKER/xray-sdk-soc/releases

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 22.02.2022 в 04:44, SkyLoader сказал:

-hemi_bias число – установить смещение позиции луча при запекании хеми (по умолчанию: 0.1, в оригинале: 0.001)

Нашёл в xrDeflectorLight.cpp, PMoved.mad(Pnew,Ldir,0.001f);

Ещё есть в detail_slot_calculate.cpp, стоит ли для травы также править?

Пример труб с вертексным шейдером, оригинал 0.001f и с 0.1f:

vertex-bug.jpgvertex-ok.jpg

В 26.07.2022 в 03:13, SkyLoader сказал:

Можно конечно убрать проверку, правда это не совсем безопасно.

В ТЧ ещё обратный порядок, в котором записывается sun / hemi в лайтмапы: lm_layer.cpp, lm_layer::Pack_hemi

    // soc
    *W++ = color_rgba(_h,_h,_h,_d);
    // cop
    //*W++ = color_rgba(_d,_d,_d,_h);

Это следует учесть, если убирать проверку на версию формата. Также, в билде сдк (от 03.10.2021) добавлены параметры, которые были в старых версиях сдк: https://bitbucket.org/Yar0s1av/xray_stalker_sdk_04_fixed/commits/8024d6a275ca4a510f8ecdb55481533b1d030e2b#Leditors/LevelEditor/Engine/communicate.hT142

Соответственно и build.prj карты будет с ними. Для этого пересобрал ЗП-xrLC, добавив в communicate.h, а также в:

xrDeflectoL_Direct.cpp,

JS.set(.4999f/dim.x, .4999f/dim.y);

xrLight_Implicit.cpp

JS.set(.499f/dim.x, .499f/dim.y);

заменил на:

JS.set(g_params().m_lm_jitter/dim.x, g_params().m_lm_jitter/dim.y);

 

22 часа назад, Pavel_Blend сказал:

Устарело, есть новее: https://bitbucket.org/Yar0s1av/xray_stalker_sdk_04_fixed/downloads/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Потестировал -hemi_bias.  Очень полезный параметр. По умолчанию были темные полосы на дорожной разметке и затемнения на окнах тестового здания:

b7d2002f6c1dbc5a146f3ef3196fb299.gif1c891b2679648d2c5ef95c790cc6c1cc.gif

Исправилось при  -hemi_bias 0.4.

551916da1f21a420bcc70d438d413886.gif7e84ada24293b679057bd1d04fb93211.gif

Но пожарная станция всё равно местами чернела и  при  -hemi_bias 0.4, и при -hemi_bias 1.

3aaf2c4fd9834008bdaff737e687f96f.giffd1c04dd2d2a1b7041b506b2d2d8fe20.gif

Нормально стало при -hemi_bias 10.

31d7e7c45ed8656e33f832df9b5ee4cb.gif


Дополнено 28 минуты спустя

Глючил сетчатый забор, помог параметр -noweld.

f5eee84001e2ba299a49430d0648edb5.gifac60d3901eb448c93eb5818deced6f76.gif


Дополнено 32 минуты спустя

А параметр -notess помог существенно повысить fps, как раньше на дизелевском компиле было.

5be553057c45c85133f1fbbb7795743d.gif19eab537f89f08158c91909cb5030b39.gif

Изменено пользователем macron

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

В связи с недавним откатом сайта повторяю посты с релизами версий.

Версия 1.2:

Спойлер

Добавлена поддержка сборки ЧН спавна

Добавлена поддержка групп сглаживания для ТЧ локаций

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

Улучшено взаимодействие потоков расчетов лайтмапов и обработки MU моделей между собой

Добавлен ключ -nocform для пропуска создания level.cform

В создаваемый компилятором compiler.ini добавлены параметры проектов по умолчанию (секция [compiler_pref]). К примеру, чтобы включить автоматическую установку флага -static для новых проектов, следует выставить параметр gm_static в on.

Добавлено больше информации о фазах сборки спавна

Спойлер

 

Версия 1.3:

Данное обновление направлено на поддержку сборки ТЧ спавна. Теперь для ТЧ спавна достаточно воспользоваться только ключом -s, так как все фазы сборки левел графов, гейм графа и спавна объединены в одну задачу. Также в меню компилятора можно выбрать список уровней, которые будут присоединены к общему спавну.

Второе нововведение для ТЧ спавна, это ключ -insert_graph. Он позволяет вшить все графы уровней в файл спавна, как это реализовано в ЗП. Это облегчит перенос спавна из рабочей директории сдк в директорию игры, поскольку не нужно переносить все файлы графов и таблиц связности АИ-сетки с графами, а лишь перенести один файл спавна. Однако такой формат спавна потребует изменения игрового движка, поэтому ниже приложена ссылка на коммит, который можно адаптировать под свою версию движка.

https://github.com/SkyLoaderr/OGSR-Engine/commit/c756706c6b1fb826bfaf53a83cedea579b38b971

Спойлер

Добавлена поддержка сборки ТЧ спавна

Для ТЧ спавна добавлен ключ -insert_graph, который осуществляет сборку спавна со вшитыми в спавн графами

Мультивыбор уровней в списке на добавление в спавн

Добавлена поддержка чтения файлов больше 2 Гб

Спойлер

 

Изменено пользователем SkyLoader
  • Мастер! 4

ts_logo.png.90641dc75d9a159811603d66254d25a9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

SkyLoader с чем может быть связано:
 

Спойлер

Initializing task sheduler...
Task sheduler initialized with 3 threads and 1 task groups
Final compiler params: -geometry -f l09_desertlands -version shoc -high -t 6 -ppm 0.000000 -nosmg

Startup time: 22:33:40, date: 7.9.2022
 
* New phase started: Reading project [l09_desertlands]...
    |    | Input file version: 17
    |    | Output file version: 17
* Phase ended: Reading project [l09_desertlands]... - 00:00:00
 
* New phase started: Converting data structures...
    | Vertices...
    |    | *         vertices: 168054
    | Faces...
    |    | *            faces: 279886
    | Models and References
    |    | * Loading model: 'props\objects\musor\trash_lada_lod'
    |    | * Loaded model: 'props\objects\musor\trash_lada_lod' - v(1087/1087), f(2100/2100)
    |    | * Loading model: ''
* [x-ray]: crt heap[100140 K], process heap[100140 K]
* [x-ray]: economy: strings[4194303 K], smem[0 K]
 
FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : out_of_memory_handler
[error]File          : f:\s.t.a.l.k.e.r.sources\x-ray_universal_compiler\src\xrcore\xrdebugnew.cpp
[error]Line          : 374
[error]Description   : <no expression>
[error]Arguments     : Out of memory. Memory request: 44704.0 M
 

stack trace:

0033:00000000EDF2C34F xrCore.dll, xrDebug::fatal()
0033:00000000EDF2B75D xrCore.dll, xrDebug::_initialize()
0033:00000000F3C24FE8 ucrtbase.DLL, callnewh()
0033:00000000F3C2D8AB ucrtbase.DLL, _intrinsic_setjmpex()
0033:00000000EDF2CEA1 xrCore.dll, xrMemory::mem_alloc()
0033:0000000000285B6B xrCompiler_Light.dll, Tface<data_vertex>::SetVertex()
0033:00000000002BA27B xrCompiler_Light.dll, xrMU_Model::Load()
0033:00000000EF98F9A5 xrCompiler_Geometry.dll
0033:00000000EF9A182D xrCompiler_Geometry.dll, xrCompileGeometry()
 


пишет нехватка памяти вроде как, но на других компиляторах всё норм, локация небольшая
собирал на медиуме - тоже нормально было, а тут вот это пишет

ещё такое было при попытке собрать траву:
 

Спойлер

Initializing task sheduler...
Task sheduler initialized with 3 threads and 1 task groups
Final core params: -details -f l09_desertlands -version shoc -high -t 6 -ppm 0.000000 -skipthm

Startup time: 22:22:29, date: 31.8.2022
 
* New phase started: Reading project [l09_desertlands]...
* Phase ended: Reading project [l09_desertlands]... - 00:00:00
 
* New phase started: Loading level...
    | Loading CFORM...
* Level CFORM: 119479K
    | Loading lights...
    |    | lights file version: 1
    | Loading project...
    |    | file version: 17
    |    | *        materials: 270
stack trace:

0033:00000000FDBECACD KERNELBASE.dll, RaiseException()
0033:00000000F3764411 VCRUNTIME140.dll, is_exception_typeof()
0033:00000000774B0801 ntdll.dll, RtlRestoreContext()
0033:0000000000428D4C xrCompiler_Light.dll, xrLC_GlobalData::operator=()
0033:0000000000453779 xrCompiler_Light.dll, xrCompileDO()
0033:0000000000450FB4 xrCompiler_Light.dll, xrCompileDO()
 
[error][       6]    : Неверный дескриптор.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу