Новые компиляторы уровней для Xash3D

 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
За ZHLT вспомнил одну интересную тему, если кому интересно. Они там ухитрились покоцать практически всё, до чего дотянулись. Но халфа на большинство ошибок вообще никак не реагирует, и считается что всё хорошо. Но вот если взять достаточно свежий ксаш (не позднее декбря 2016-го), скормить ему карту, компиленную ZHLT, и поставить -dev 4, то он заспамит всю консоль, сообщениями, вида
Mod_DecompressVis: output overrun (decompressed %i of %i output bytes)
Китаец, разумеется это пофиксил. Этот спам - визитная карточка ZHLT.
 
 

FiEctro

Супер Модератор
Команда форума
28.07.2006
17 149
333
83
Награды
0
27
Эквестрия
2 Дядя Миша:
Планируется какая либо аппроксимация геометрии для динамического освещения? Чем закончилась эпопея с лайтпробами, планируешь ими заниматься дальше, или разочаровался в этом методе?
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 FiEctro: да ничем не закончилась, те лайтпробы они же для амбиента. Им еще надо директ. Вот вчера были очередные эксперименты.
 
 

Qwertyus

Well-known member
13.08.2009
1 351
26
48
Награды
0
Компилятор - просто клад,
Каждый маппер будет RAD! :lol:
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
Достал из загашников все доступные SDK от вальвы, 2.0,2.1,2.2,2.3 Дай думаю сравню. Ну и чтобы вы думали? От версии к версии, компиляторы всё же слегка изменяли. Между версией 2.0 и 2.1 добавил поддержку map от ворлдкрафта 3.4, к примеру. Но оригиналы в принципе никто не любил юзать, типа они глючные, устаревшие, причём этому немало поспособствовали составители учебников для мапперов. К тому же ZHLT ведь тоже существует масса версий и портились они постепенно. А авторы учебников видимо ссылались на первые версии компиляторов, которые еще не успели как следует испортить, но добавили разные интересные вещи.

[ADDED=Дядя Миша]1505154874[/ADDED]
Там кстати не четыре компилятора, а пять. Ну пусть пять будет, я не против.
 
Последнее редактирование:
 

GNU/Hurt

Maïté
05.03.2014
1 097
23
38
Награды
0
2 Дядя Миша:
А с какой целью вообще csg и bsp разделяли?
 
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 GNU/Hurt: Ксерокс как-то предположил, что для более детальной визуализации хуллов. Ну, других вариантов у меня серавно нет.

Скомпилил для началу qsg и qbsp2 (ничего не менял, просто скомпилил).
Для тестов взял всё ту же пресловутую c1a0d. Результаты по времени компиляции:
qcsg - 2 секунды
qbsp2 - 1 секунда
vis - 14 секунд
qrad - 9 секунд

hlcsg - 1 секунда
hlbsp - 4 секунды
hlvis - 15 секунд
hlrad - 22 секунды

Правда стоит учитывать, что я включил для VHLT хэширование планесов, а в qcsg его и не было. Ну а виз обычно никто не трогает, т.к. там нечего трогать, он как ВАЗ2107.
 
Последнее редактирование:
 
Команда форума
28.03.2010
15 384
242
63
Награды
0
Кубань
2 FiEctro: у меня к тебе просьба. Найди сорцы от компиляторов AJHLT, где чувачок добавил в ZHLT амбиент акулижен - пригодятся.

[ADDED=Дядя Миша]1505165711[/ADDED]
В рамках оптимизации разработки принял решение, сперва отладить компиляторы под халфу, а затем уже портировать на XashNT. Думаю и вам так будет интереснее, поскольку я смогу вам давать рабочие билды на тестирование.
К слову сказать, те результаты что я привёл вверху - не совсем точные, т.к. относятся в BSP31 для VHLT. Для VHLT30 время рада увеличилось до 32 секунд, против 9 секунд у qrad. Т.е. более чем трёхкратное отставание в скорости. Но мы же привыкли, что VHLT супер-шустрый?
Вот вам порция сравнительных скриншотов между халфовским радом и китайским.
Каковы основные отличия? Первое что мы видим - оригинал заметно светлее. Ну это неудивительно, я уже упоминал, что там идёт умножение света на 2, а китаец его выбросил, но судя по коментам в коде "скомпенсировал". Хотя как видно скриншотах - никакой компенсации там нет, китайские лайтмапы просто стали темнее. Второе отличие - колорблидинг, который китаец еще в первых версиях своих компиляторов утащил из ку2. Ну и третье - меньше видимых стыков между полигонами. Так же прошу обратить внимание на интересный эффект - в китайском раде на стыке стены и пола явственное разделение цвета, что в общем случае неприятно выглядит. Подозреваю, это как-то связано со всеми этими смещениями и оффсетами, которыми он пытался ремонтировать стыки. Может блур виноват, пока не могу сказать. Но вроде как в ранних версиях этого не было. Так же обратите внимание куда уехали светопятна от лайтсурфсов - либо вверх, либо вообще внутрь стен. Это работа т.н. TEXLIGHTGAP, причём она появилась в самой крайней версии VHLT.
Пока что из очевидных преимуществ я вижу отсутствие швов там где они есть на старом компиляторе. Но не могу поручиться что это не достигнуто каким-либо смещением лайтмапы и\или блуром.
Ну, так сказать, начало положено. В дальнейшем эта тема будет вестись в уже привычном вам формате "блог разработчика".

[ADDED=Дядя Миша]1505166804[/ADDED]
Статистика расхода лимитов.
qrad
Object names Objects/Maxobjs Memory / Maxmem Fullness
------------ --------------- --------------- --------
models 95/1024 6080/65536 ( 9.3)
planes 8930/65536 178600/1310720 (13.6)
vertexes 5878/65535 70536/786420 ( 9.0)
nodes 2410/32767 57840/786408 ( 7.4)
texinfos 1320/65535 52800/2621400 ( 2.0)
faces 4152/65535 83040/1310700 ( 6.3)
clipnodes 6965/32767 55720/262136 (21.3)
leaves 762/32767 21336/917476 ( 2.3)
marksurfaces 5277/65535 10554/131070 ( 8.1)
surfedges 19443/2097152 77772/8388608 ( 0.9)
edges 9966/1048576 39864/4194304 ( 1.0)
texdata [variable] 8716/33554432 ( 0.0)
lightdata [variable] 313608/33554432 ( 0.9)
deluxemap [variable] 0/33554432 ( 0.0)
visdata [variable] 22228/16777216 ( 0.1)
entdata [variable] 34692/524288 ( 6.6)
=== Total BSP file data space used: 1,009.17 Kb ===
World size ( 3671 2936 480 ) units
Supports transparency world water: No
original name: maps/c1a0d_qrad.bsp
internal name: Anomalous Materials
vhlt
Object names Objects/Maxobjs Memory / Maxmem Fullness
------------ --------------- --------------- --------
models 95/1024 6080/65536 ( 9.3)
planes 2913/65536 58260/1310720 ( 4.4)
vertexes 5420/65535 65040/786420 ( 8.3)
nodes 2089/32767 50136/786408 ( 6.4)
texinfos 860/65535 34400/2621400 ( 1.3)
faces 3797/65535 75940/1310700 ( 5.8)
clipnodes 5650/32767 45200/262136 (17.2)
leaves 614/32767 17192/917476 ( 1.9)
marksurfaces 4927/65535 9854/131070 ( 7.5)
surfedges 18102/2097152 72408/8388608 ( 0.9)
edges 9055/1048576 36220/4194304 ( 0.9)
texdata [variable] 8320/33554432 ( 0.0)
lightdata [variable] 267252/33554432 ( 0.8)
deluxemap [variable] 267252/33554432 ( 0.8)
visdata [variable] 14908/16777216 ( 0.1)
entdata [variable] 34700/524288 ( 6.6)
=== Total BSP file data space used: 1.01 Mb ===
World size ( 3671 2936 480 ) units
Supports transparency world water: No
original name: maps/c1a0d_vhlt.bsp
internal name: Anomalous Materials
Как видно, VHLT слегка экономнее по всем параметрам, но в первую очередь - по расходу плоскостей и клипнодов. Однако в VHLT загрублены PLANE_NORMAL и PLANE_EPSILON, как раз для уменьшения расхода, что в свою очередь влияет не только на планесы.
 

Вложения

Последнее редактирование:
 

crystallize

Active member
06.06.2014
1 491
20
38
Награды
0
Ku2zoff сказал(а):
2 crystallize зонеровские рекомендовали в основном из-за некоторых увеличенных лимитов и фич для удобства, типа нулл-текстуры вместо ская, всяких info_compile_parameters и info_texlights. +кое-какие оптимизации и полезные ключики командной строки. А ещё у них логи информативнее, в отличие от оригинальных.
Ну хорошо, а вот ДМ китайские хвалит, что они генерируют в разы меньше планесов:
http://hlfx.ru/forum/showthread.php?threadid=3710&postid=111356#post111356
В то же время там же да этого Слакс ругает их:
http://hlfx.ru/forum/showthread.php?threadid=3710&postid=111348#post111348
 
 

mittorn

Active member
22.04.2010
1 223
15
38
Награды
0
Как добиться адекватного освещения с делюксмапой? У меня лажа какая-то получается - местами тень светлее чем освещённые части.
 
 

Yo Den

Active member
02.10.2013
904
25
28
Награды
0
26
Дядя Миша сказал(а):
Достал из загашников все доступные SDK от вальвы, 2.0,2.1,2.2,2.3 Дай думаю сравню. Ну и чтобы вы думали? От версии к версии, компиляторы всё же слегка изменяли. Между версией 2.0 и 2.1 добавил поддержку map от ворлдкрафта 3.4, к примеру. Но оригиналы в принципе никто не любил юзать, типа они глючные, устаревшие, причём этому немало поспособствовали составители учебников для мапперов. К тому же ZHLT ведь тоже существует масса версий и портились они постепенно. А авторы учебников видимо ссылались на первые версии компиляторов, которые еще не успели как следует испортить, но добавили разные интересные вещи.

[ADDED=Дядя Миша]1505154874[/ADDED]
Там кстати не четыре компилятора, а пять. Ну пусть пять будет, я не против.
этому способствовал Дмитрич хД Ни разу не юзал стандартные хл компиляторы, но везде писали мол Зоннеры лучшие, правда не знаю в чём. Т.е. получается стандартные хл самые лучшие? Или всё-таки у китайских есть какие-то преимущества? По скорости и освещению
 
Последнее редактирование:
 

FiEctro

Супер Модератор
Команда форума
28.07.2006
17 149
333
83
Награды
0
27
Эквестрия
Дядя Миша сказал(а):
Каковы основные отличия? Первое что мы видим - оригинал заметно светлее. Ну это неудивительно, я уже упоминал, что там идёт умножение света на 2, а китаец его выбросил
И правильно сделал, превратить лайтмапу в белое уродливое пятно и без этого можно. Буззер в первой паранойе тоже самое делал, а темноту компенсировал овербрайтами, в итоге там пятная света выглядят намного лучше бесформенного уродства из классического хлрада.
 
Последнее редактирование:
 

crystallize

Active member
06.06.2014
1 491
20
38
Награды
0
Skaarj сказал(а):
Слакс в маппинге не шарит, иначе он не сравнивал бы две разные карты. :lol:
Но отсечение видимости же должно быть в любом случае.

[ADDED=crystallize]1505201566[/ADDED]
Кстати, в DirectX-рендере халфы есть цвар про overbright который делает лайтмапы светлее, автомат с водой светится почти как у ДМ на полной динамике. Но что она конкретно делает?
 
Последнее редактирование:
 

GNU/Hurt

Maïté
05.03.2014
1 097
23
38
Награды
0
>сравнительных скриншотов между халфовским радом и китайским.
китаец красивее
 
 

FiEctro

Супер Модератор
Команда форума
28.07.2006
17 149
333
83
Награды
0
27
Эквестрия
crystallize сказал(а):
Кстати, в DirectX-рендере халфы есть цвар про overbright который делает лайтмапы светлее
Интересно, впервые слышу, можно подробнее? Что за квар?
 
 

Yo Den

Active member
02.10.2013
904
25
28
Награды
0
26
FiEctro сказал(а):
Интересно, впервые слышу, можно подробнее? Что за квар?
это не про гамму и яркость в меню настроек? Они вроде так и устроены
 
 

crystallize

Active member
06.06.2014
1 491
20
38
Награды
0
FiEctro сказал(а):
Интересно, впервые слышу, можно подробнее? Что за квар?
https://facepunch.com/showthread.php?t=1260955&p=43428520&viewfull=1#post43428520

[ADDED=crystallize]1505207473[/ADDED]
Yo Den сказал(а):
это не про гамму и яркость в меню настроек? Они вроде так и устроены
Нет, ты что.
P.S. похоже что на Intel GMA правильную картинку можно увидеть только в софтваре. Даже в ксаше лаймапы блеклые.
 
Последнее редактирование: