Sidebar

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

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Слева китайский блур, справа гаусс.
Яж говорю, ну не будет толку на таком разрешении.
Ты наверное апскейленную лайтмапу блуришь, потом даунскейлишь, а потом подчищаешь швы.

[ADDED=Дядя Миша]1512506827[/ADDED]
Накрутил блур побольше, а гамма-коррекцию отключил совсем. Вместо нормализации сделал хардклип к 255. Швы естественно никуда не делись.
Да и куда им деваться. Твое предположение, якобы гамма корреция создаёт швы основано на таком интересном предположении, что pow на одинаковых значениях у тебя даёт почему-то разные результаты. Ведь что такое шов? Это разные значения освещённости люкселя на стыке. Если они разные - будет шов, хоть до гамма-коррекции. хоть после, хоть как угодно. Если они одинаковые, то и после гамма-коррекции останутся одинаковыми. В твоём случае они разные, но на глаз неразличимые, а после гамма-коррекции уже становятся различимыми. Вот и думаешь что она виновата, хотя всё дело в исходном материале.
 

Attachments

Last edited:

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
2 Дядя Миша: у тебя случайно в браузере не установлен плагин, который с помощью нейросети генерирует фразы и добавляет их в чужие сообщения?
При чем тут швы вообще? Говорил же, что размытие у тебя стрёмное (лесенку видно) из-за гамма-коррекции, ну при чём здесь швы.
Нет у меня апскейла. Блюрю, как есть, в масштабе 1:1.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Я блюрю после гамма-коррекции, но перед удалением швов
Вот это как понимать?

[ADDED=Дядя Миша]1512511248[/ADDED]
А швы притом, что блур провоцирует их появление
 
Last edited:

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
2 Дядя Миша: понимать как "В силу того, что свет запекается в точках пространства, расположенных в центрах люкселей, а наложение текстур происходит с применением билинейной фильтрации, на границах фейсов возникают швы, которые приходится удалять специальной процедурой (подобно the last of us, с составлением и решением огромной СЛАУ)"

[ADDED=ncuxonaT]1512511586[/ADDED]
А швы притом, что блур провоцирует их появление
Поэтому я и удаляю швы после блюра. Но на качество самого блюра оно никак не влияет. Зато влияет, до или после была сделана гамма-коррекция.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
на качество самого блюра оно никак не влияет
Понятное дело. Зато блюр на швы влияет. Впрочем китайский в меньшей степени, чем гаусс. Впрочем, я уже подобрал оптимальные параметры, при которых швы не возникают. И главным образом за счёт умножения на разблуренную шадовмапу, которая уменьшает радиус действия блура на полпикселя.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
Дядя Миша said:
В процессе экспериментов наткнулся на неожиданный позитивный эффект, который по идее здорово упрощает весь механизм и даёт приемлимые результаты.
У блура (хоть китайского, хоть какого) есть тенденция к уничтожению теней, что хорошо видно на приведённых ниже скриншотах. Слева направо - без сглаживания, средний - блур 1.5, сразу видно что тень над лампами он уничтожил без остатка. Моё решение заключается в том, чтобы заблурить шадовмапу и дополнительно умножить её на свет (скрин справа). Конечно оно не даёт идеального эффекта, но во первых, на c1a0d самый сложный случай, в других местах эта техника себя зарекомендовала гораздо лучше, во вторых мне эта шадовмапа всё равно нужна для сохранения в карту, а в третьих это гораздо лучше непонятных китайских методов с проекцией фейковой тени прямо в цикле размытия. Здесь хотя бы предиктабельность результата.
Второго в принципе уже хватает, третий слишком тёмный, но - может пригодиться в качестве регулировки контраста на карте, например.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Так товарищи. Мой TODO-лист практически выполнен. Осталось собственно то, ради чего я затеял всю эту возню - делюксмапы, ворлдлайты и потдержка деномических рендереров. Так што впереди самое интересное.
 

GNU/Hurt

Maïté
Mar 5, 2014
1,094
23
0
2 Дядя Миша:
Поздравляю, ждём релиза. Скинешь последнюю версию для тестов?
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Про выводы расскажу чуть позже, а пока хочу поделиться с вами самым удивительным открытием, сделанным за время работы над компиляторами.
Вот у тхамбса на картах зачастую встречаются такие хитрые наложения текстур, ксен-деревьях брашевых, на мониторчиках, которые после компиляции практически любыми компиляторами портятся. Текстуры съезжают. Если делать монорельсы и поворот, аналогично может съехать, я с этим сталкивался еще в 2004-м, причём тогда мне помогла смена ZHLT на MHLT. Сейчас я снова с этим столкнулся. Но у китайца ничего не съезжает. Я предположил что дело в нововведении ZHLT_FREETEXTUREAXIS, но как выяснилось, он не причём. Т.е. ситуация складывалась заведомо идиотская - код чтения\сохранения текстурных координат везде одинаковый, довольно простой, и менять там нечего. Но здесь ничего не сползает, а у остальных разъезжается. Я очень долго пытался понять эту зависимость и в конце концов раскопал. Оказывается в статическом CRT и в динамическом разная реализация atof. И вот та что в msvcrt.dll портит координаты, а что в libc.lib - не портит. Самое интересное, я пытался написать свой кастомный atof под это дело, но получилось так, что изначальная проблема исчезла, зато вылезла новая, которой раньше не было. Т.е. для написания корректного atof надо хорошо волочь в особенностях FP-арихметики, а моих знаний в этой области хватает только на то, чтобы гарантированно не вляпаться в какое-нибудь гамно, не более того. Так что я пока отказался от этой идеи.

[ADDED=Дядя Миша]1512730054[/ADDED]
На протяжении всей этой темы я делал много предположений\утверждений, часть из них оказалась ошибочной. Но вы потом сдуру запомните и будете цитировать.
Поэтому исправлюсь, пока не поздно. Например касательно sparse-матрицы.
Она по сути ничем не отличается от классической, просто сжимается RLE, чтобы занимать меньше места. Т.е. весь смысл в экономии памяти, а данные идентичны.
Из чего вытекает принципиальная невозможность заподозрить её в разведении грязи на лайтмапах. Тут уж скорее виновато неудачное название, sparse - разрежённая, т.е. как может показаться - менее точная. Но нет, абсолютно такая же. А грязь там разводил скорее всего код субдивайда патчей. Китаец его переписал и грязь ушла. Правда я этот момент так и забыл сравнить с оригиналом. Ну может еще сравню.
 
Last edited:

Cybermax

Супер Модератор
Mar 11, 2008
2,736
26
36
Дядя Миша said:
Выводы по итогам кому-нибудь интересны?
Читать всегда интересно, комментарий сложно сформулировать по сути. Единственное, что ясно на сколько занятное дело писать компиляторы.
 

Ku2zoff

New member
Aug 12, 2010
312
34
5
0
Дядя Миша said:
Выводы по итогам кому-нибудь интересны?
Без знания матчасти довольно трудно судить. Конечно, можно углубиться в теорию, чтобы понять, о чём речь в некоторых выводах. Большинству в итоге важен результат работы. Думаю, стоит все выводы и рассуждения сопровождать скриншотами (таблицами, графиками, откомпиленными кусками карт в конце концов), чтобы наглядно была видна разница до и после, или ЗХЛТ и ВХЛТ и Вальвовские тулзы.
Для себя я сделал такой вывод: новые компиляторы должны давать визуальный (в плане яркости освещения) результат близкий к оригинальным вальвовским; использовать фичи китайца (детайлы, освещение); экономить клипноды, фейсы и прочее по максимуму; и быстро работать, быстрее китайца. Ну и конечно же информативный лог и цветные сообщения в консоли. Ах да, и чтоб косяков с колоизацией и вообще порчи всякого в них не было.
Ну я уверен, что ты к этому всему стремишься, пытаясь не сломать совместимость с халфой.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Дядя Миша:
Я ничего не понимаю в программировании, но у меня есть вопрос: msvcrt.dll и libc.lib обе чисто майкрософтовские библиотеки? Это чисто расовый вопрос, если чо.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
овые компиляторы должны давать визуальный (в плане яркости освещения) результат близкий к оригинальным вальвовским
Да
использовать фичи китайца (детайлы, освещение);
По большей части
экономить клипноды, фейсы и прочее по максимуму
Нет.
и быстро работать, быстрее китайца.
Это одна из самых приоритетных задач - работать быстрее, жрать меньше памяти.
Ну и конечно же информативный лог и цветные сообщения в консоли
Они у меня там не просто цветные. Да сами всё увидите.
Ах да, и чтоб косяков с колоизацией и вообще порчи всякого в них не было.
Косяки с колоизацией вылезли в полном объеме. Спроведливозти ради замечу, что идентичные косяки вылезли абсолютно на всех компиляторах, которыми я это тестировал. и hmap2 и TyrUtils и VHLT. И везде вылезло одинаково.
А знаете почему? А потому что new portal was clipped away справедлив не только для поинт-хулла.

[ADDED=Дядя Миша]1512750607[/ADDED]
2 Raid: msvcrt.dll каг бы идёт с виндой с незапамятных времён я не знаю, может она с 95-й винды воще не обновлялась. А libc.lib он жы обновляется вместе со студией.
 
Last edited:

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
Дядя Миша said:
msvcrt.dll каг бы идёт с виндой с незапамятных времён я не знаю, может она с 95-й винды воще не обновлялась.
Может в этом и проблема? 95-я винда была образцом безопасности и отказоустойчивости.
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord