При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.08.2018, 21:23  #1
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию P2ST compile tools v.095 beta (Bezier Curves)

Итак, обновлённая версия компиляторов является результатом большого кол-ва проведённых сравнительных экспериментов, главной задачей которых, была как ни странно цель - скомпилить ad_sepulcher (это карта из Arcane Dimensions). Следует заметить, что 16-битные ограничители в оригинальном BSP30 сделать этого не позволяют, но сам код компиляторов на это вполне рассчитан, т.к. тестирования проводились на XashNT и формате BSP32 (с 32-битными лимитами). Остальные приятные возможности - рекурсивная поддержка префабов и патчей, появились тогда, когда я решил протестировать возможность компиляции карт из Quake3.

Список изменений (+ добавилось, - убрано, * изменилось)
CSG:
+ возможность загружать вады из паков
* в связи с этим вады всегда должны находиться в игровой директории, но зато нет нужды указывать к ним полные пути, имени достаточно.
* -wadinclude теперь аналогично надо указывать имя вада вместо пути
+ поддержка формата map Brush Primitive (Quake3)
+ поддержка формата map Quake2
+ поддержка Bezier Curves из Quake3 (несолидных, впрочем q3map для них тоже не строит коллизию)
+ поддержка misc_external_map из TyrUtils (нерекурсивное вложение карты-префаба, где все брашы должны находится в worldspawn)
+ поддержка misc_model (поддерживается только ase-формат)
+ поддержка рекурсивного вложения префабов (через тот же misc_model, причём в карту попадают только детальные брашы, misc_model и env_static, а всё остальное, в том числе и структуральные брашы удаляется). Впоследствии можно завести еще одну энтить для таких префабов и позволить себе вставлять любые энтить с других карт.
+ если в hulls.txt размеры клипхулла равны нулю, то такой хулл не считается компилятором, например для Quake.
* исправлен параметр -nullifytrigger на -nonullifytrigger
- убраны спецтекстуры "bevel"
- убран параметр zhlt_forcelightmap, лайтмапа для воды считается всегда (ну как и в оригинале)
+ параметры _shadow и _dirt, первый аналогичен zhlt_lightflags 2 и нужен для совместимости с TyrUtils, второй запрещает\разрешает dirtmapping на фейсе или группе фейсов. Так же работает для мировых брашей, если их выделить в func_group.
+ Новые виртуальные энтити func_detail_wall, func_detail_fence и func_detail_illusionary. Аналогичны таковым у TyrUtils и являются чем-то вроде готовых пресетов для func_detail, которым не надо прописывать zhlt_detaillevel, zhlt_noclip и так далее.
+ фейсы покрытые текстурой skip для солидного браша автоматически превращаются в NULL - это тоже поведение из TyrUtils. Если вы хотите именно несолидный браш, то используйте zhlt_noclip 1 (впрочем мапперы именно так и делают).
+ зануляются не только текстуры AAATRIGGER но и текстуры TRIGGER (для Quake).
+ старый классический алгоритм надувания брашей для построения клипов включается параметром zhlt_precisionclip 1. Алгоритм генерирует вчетверо больше клипнодов чем китайский, поэтому им стоит пользоваться только в том случае, если китайский не справился.
* по идее исправлена ошибка CSG, приводящая к тому, что что браш покрытый NULL, при разрезании обычного получал больший приоритет в занулении стенок соседа. Обычно это приводило к загадочным дырам в геометрии, надеюсь такого больше не будет.
- убраны параметры zhlt_clipnodedetaillevel, zhlt_chopup, zhlt_chopdown, zhlt_coplanarpriority.

BSP:
* классический прогресс-бар при построении дерева, вместо загадочных циферок.
* .prt файл будет создан даже на карте с дыркой (но помните, что у дырявой карты останется куча полигонов снаружи).
+ автоматическое определение maxnodesize по умолчанию, с целью подобрать наиболее оптимальное значение (базируется на размерах карты)
+ некоторые изменения в генерации порталов, призванные ускорить виз.

VIS:
+ Оптимизатор видимости порталов, нечто вроде вальвовской Leafs Crosscheck, но действующей прямо по ходу PortalFlow. По идее должен немного ускорить виз и улучшить его качество. Сравнительных тестов толком не проводилось.
* исправлен баг с генерацией leaf ambient sound (ветер в Quake).
+ RLE-компрессия далеко не всегда уменьшает размер виздаты, иногда она наоборот его увеличивает. Обе ситуации теперь выделяются зелёным и красным цветом чтобы вы не ломали себе голову как это виздата сжалась с 200 килобайт до 350 килобайт.

RAD:
* пересмотрены константы для непрямого повертексного освещения, думаю должно стать более корректно чем было.
- убран zhlt_halflambert для повертексного освещения, т.к. нарушает целостность модели освещения.
* _minlight не работает если -bounce больше нуля.
* переписан код трассы для возможности кастовать тени от несолидных объектов (например патчей). исправлено несколько мелких ошибок.
+ Drop To Floor для env_static теперь выполняет RAD. Для того чтобы реальное положение модели совпадало с тенью в лайтмапе. Разумеется если выставлен соответствующий флаг.
- убран рассчёт визматрицы. В определённых случаях это экономит немного времени и во всех случаях экономит от 10 до 400 мегабайт памяти.
+ Для light_environment строится vis, что позволило ускорить рассчёты света от солнца.
+ Поддержка всех типов лампочек из Quake (более подробно в инструкции по TyrUtils).
+ для большинства операций выводится размер занятой памяти для предварительной оценки суммарного потребления
+ на реальных условиях оттестировано потребление в 3GB памяти. К тому же аллокаторы в случае отказа API еще минуту пытаются всё же выделить кусок памяти (например если Windows перестраивает свой своп, он может на какое-то время отказать в выделении памяти). С учётом того, что визматрица упразднена, ситуация когда памяти может нехватить стала еще менее вероятной.
+ введён ключ -quake, который гамму ставит в 1.0, а -dscale в 0.5 и -sky 0.0, а так же включает -lightbalance. Не считая того, что для регулировки гаммы отдельного параметра не предусмотрено это фактически презет, для того чтобы сделать освещение чисто кушным ну прямо как структура папок. Полезно для тех, кто будет делать карты для Quake под враппер, например.

Известные проблемы:
По сравнению с версией 0.93 на некоторых картах может вылезти дырка, хотя в реальности её там нет. Случай весьма редкий, но тем не менее.

Патчи, как их вставлять на карту:
Я не знаю. QuArK позволяет сохранять для Half-Life карты в формате Brush Primitive к тому же описание патчей корректно поддерживается для Quake2 формата. Это должно быть учтено в JackHammer, но подробностей я не знаю. т.к. не пользуюсь им. На всякий случай прилагаю исходник тестовой карты.

Тестирование:
по входным и выходным форматам компиляторы полностью совместимы с преведущей версией 0.93, поэтому в случае какого-то регресса, вы всегда можете подменить проблемный участок и убедиться, что дело действительно в нём, ну и конечно же оставить багрепорт в этой теме, приложив карту для воспроизведения бага.

Update at 27.08.2018
- исправлен баг с mixed face contents
- исправлен баг с вылетом рада
- лимит на модели поднят обратно до 1024

anniversary update at 11.09.2018
- исправлен баг с оригин-брашами
- рад не пытается считать освещение, если на карте 0 источников света
- необходимые приготовления для будущего рендерера паранои (пока неактуально)
- исправлен баг с делюксмапой (чёрные участки бампа)
- увеличена скорость работы для light_environment при -bounce 0
- исправлен баг с параметром -ambient, теперь рабочий
- добавлен параметр -gamma (диапазон 0.3 - 1.0)
- Юбилейный билд - ровно год с момента начала разработки компиляторов
[ Вложения ]
Тип файла: 7z P2ST_0.95beta.7z (168.1 Кбайт, 43 просмотров)
Тип файла: zip bezier.zip (74.3 Кбайт, 38 просмотров)
Тип файла: 7z P2ST_0.95beta_update1.7z (168.1 Кбайт, 29 просмотров)
Тип файла: 7z P2ST_0.95beta_anniversary_update.7z (168.4 Кбайт, 40 просмотров)

Последний раз редактировалось Дядя Миша, 12.09.2018 в 13:03.
Дядя Миша вне форума Ответить с цитированием
Старый 18.08.2018, 21:39  #2
Qwertyus
Qwertyus
Полковник
Регистрация: 13.08.2009
Сообщения: 1,211


По умолчанию

Поздравлям!
Qwertyus вне форума Ответить с цитированием
Старый 18.08.2018, 22:24  #3
TOPOL_M_FRF
TOPOL_M_FRF
Прапорщик Задов
Регистрация: 24.10.2009
Возраст: 22
Сообщения: 685
Замечания: 3


По умолчанию

Рад не пускается, и выкидывает с ошибкой.
Код:
Error: FS_Init: couldn't init game directory! 
18047 base patches, required 7.09 Mb
Снова мне надо компилы кидать в папку с игрой?

Внезапно решил поменять csg и о чудо !! рад пошел.
Получается в первом не так?
это странно

Последний раз редактировалось TOPOL_M_FRF, 18.08.2018 в 22:42.
TOPOL_M_FRF вне форума Ответить с цитированием
Старый 18.08.2018, 22:47  #4
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

2 TOPOL_M_FRF: не снова, а раз и навсегда взять себе за правило компилировать там и только там.
Дядя Миша вне форума Ответить с цитированием
Старый 18.08.2018, 22:55  #5
TOPOL_M_FRF
TOPOL_M_FRF
Прапорщик Задов
Регистрация: 24.10.2009
Возраст: 22
Сообщения: 685
Замечания: 3


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 2 TOPOL_M_FRF: не снова, а раз и навсегда взять себе за правило компилировать там и только там.
Это неудобно, ой как не удобно. Серьезно. Может ты и группа тестеров так привыкла, но мне держать все в одной папке не в кайв.

Но сейчас к другому, рад категорически не пускается с родным CSG.
Что в папке игры, что без.

Заметил, если рад и работает, то он не позволяет параметру chop вылезать меньше 32. Это норма?

Последний раз редактировалось TOPOL_M_FRF, 18.08.2018 в 23:09.
TOPOL_M_FRF вне форума Ответить с цитированием
Старый 19.08.2018, 00:17  #6
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

2 TOPOL_M_FRF: да там ограничения 32-128.
Дядя Миша вне форума Ответить с цитированием
Старый 19.08.2018, 09:42  #7
TOPOL_M_FRF
TOPOL_M_FRF
Прапорщик Задов
Регистрация: 24.10.2009
Возраст: 22
Сообщения: 685
Замечания: 3


По умолчанию

Жаль, очень жаль.
Лично я сейчас больше регресс чувствую, нежели что то дельное (как маппер чисто под ГС). Кроме виза и бсп не вижу смысла их использовать, это пока самое прикольное из всего набора.
TOPOL_M_FRF вне форума Ответить с цитированием
Старый 19.08.2018, 13:23  #8
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

2 TOPOL_M_FRF: зачем тебе chop менее 32? Я бы еще понял если texchop.
Дядя Миша вне форума Ответить с цитированием
Старый 19.08.2018, 17:16  #9
ncuxonaT
ncuxonaT
Майор
Регистрация: 05.05.2013
Сообщения: 1,025


По умолчанию

2 Дядя Миша: 64,32,16,8. Видишь разницу?
[ Миниатюры ]
chop64.jpg Просмотров: 125 Размер:  50.2 Кбайт  chop32.jpg Просмотров: 109 Размер:  51.2 Кбайт  chop16.jpg Просмотров: 110 Размер:  51.3 Кбайт  chop8.jpg Просмотров: 129 Размер:  57.5 Кбайт  
ncuxonaT вне форума Ответить с цитированием
Старый 19.08.2018, 17:37  #10
xDShot
xDShot
Генерал-Полковник
Регистрация: 20.12.2010
Адрес: Санкт-Петербург
Возраст: 23
Сообщения: 1,646
Замечания: 2


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 2 TOPOL_M_FRF: зачем тебе chop менее 32? Я бы еще понял если texchop.
Ну чтоб тени ч0ткие были. Или мы опять заблуждались многие годы?
xDShot вне форума Ответить с цитированием
Старый 19.08.2018, 20:17  #11
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

[ Цитата ] 64,32,16,8. Видишь разницу?
Я знаю во сколько раз вырастет потребление памяти на -chop 8. И этого достаточно чтобы забить на эту разницу.
[ Цитата ] Ну чтоб тени ч0ткие были
Чтоб тени были чоткие надо zhlt_texturestep накручивать. -chop влияет на разрешение индиректа.
Дядя Миша вне форума Ответить с цитированием
Старый 20.08.2018, 13:03  #12
crystallize
crystallize
Подполковник
Регистрация: 06.06.2014
Сообщения: 1,197


По умолчанию

Конкуренты не дремлют https://forums.svencoop.com/showthr...erns-v34-Branch
crystallize вне форума Ответить с цитированием
Старый 20.08.2018, 13:10  #13
GNU/Hurt
GNU/Hurt
Maïté
Регистрация: 05.03.2014
Сообщения: 995


По умолчанию

2 Дядя Миша:
Что за беда с памятью?
GNU/Hurt вне форума Ответить с цитированием
Старый 20.08.2018, 13:46  #14
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

2 GNU/Hurt: кол-во патчей это общий мультипликатор потребления всей памяти. На сами патчи, потом на трансферы и потом на массивы хранения переотражённого света, а в старых билдах еще и на визматрицу. Там нелинейное потребление всё же, но очень заметное.

Дядя Миша, подумав, добавил 20.08.2018 в 13:47
2 crystallize: я это видел, но ничего не понял.

Последний раз редактировалось Дядя Миша, 20.08.2018 в 13:47.
Дядя Миша вне форума Ответить с цитированием
Старый 27.08.2018, 21:34  #15
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

Выложил обновление компиляторов. Исправлено несколько багов.
Дядя Миша вне форума Ответить с цитированием
Старый 11.09.2018, 23:55  #16
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

Ура, товарищи! Сегодня исполняется ровно год, с того момента, когда я начал собственную разработку компиляторов карт. Ну и в честь такого события выкладываю обновление, которое исправляет некоторые критичные моменты (в первом посте).
Дядя Миша вне форума Ответить с цитированием
Старый 12.09.2018, 05:10  #17
crystallize
crystallize
Подполковник
Регистрация: 06.06.2014
Сообщения: 1,197


По умолчанию

А вот BSP30ext будет корректно обрабатываться?
crystallize вне форума Ответить с цитированием
Старый 12.09.2018, 13:01  #18
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

2 crystallize: да, конечно. Переименовал юбилейный апдейт, чтобы народ не путался.
Дядя Миша вне форума Ответить с цитированием
Старый 11.10.2018, 11:56  #19
crystallize
crystallize
Подполковник
Регистрация: 06.06.2014
Сообщения: 1,197


По умолчанию

Насколько точно "классический" алгоритм CSG повторяет квейковский из того же TyrUtils?
crystallize вне форума Ответить с цитированием
Старый 11.10.2018, 14:19  #20
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 14,108


По умолчанию

2 crystallize: там используется этот же самый код с поправкой на мультипоточность.
Дядя Миша вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:58.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2018 by CS-Mapping.com.ua Community