Sidebar

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

nemyax

тндайпц тра
Jul 30, 2015
633
23
16
2 Ku2zoff:
Как-то раз или два заходила речь и о хранении вспомогательных данных для кокрас динамики. Вот я и хочу уточнить.
 

nemyax

тндайпц тра
Jul 30, 2015
633
23
16
Дядя Миша said:
откуда во второй параное настоящие шамблеры? :shock:
Было время, фпараноедва не имелось и развесовки, а теперь чего? И по законам исторического развития вслед за развесовкой приходят и шамблеры (ну это все знают).
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Работаю над блуром. Помоему мнению блурить готовую лайтмапу - идиотское занятие. Во первых она слишком низкого разрешения, во вторых при отрисовке к ней всё равно применяется билинейка, в третьих мы блурим сразу и свет и тень, хотя свет нам гладить воще не надо, нас же волнуют зубцы на тенях, правильно?
Я думаю надо сохранить тень отдельно (тем более што она мне всё равно потом пригодится) и блурить уже непосредственно тень, а потом умножать её на лайтмапу. Думаю так правильнее будет. ну посмотрим.

[ADDED=Дядя Миша]1512393060[/ADDED]
Кстати радиосити тоже надо отдельно хранить. Это не замедлит рассчёты, но увеличит потребление памяти. Тогда готовая лайтмапа будет состоять из четырёх компонент и считаться по следующей формуле:
direct * shadow + bounce.

[ADDED=Дядя Миша]1512393272[/ADDED]
А для теней соответственно можно взять обычный PCF. Он хорошо сочетается с билинейкой.

[ADDED=Дядя Миша]1512396053[/ADDED]
Вот для наглядности шадовмапа, посчитанная компилятором (тестовая карта психопата)
Вот её и надо блурить, а потом умножать на свет.
 

Attachments

Last edited:

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
2 Дядя Миша: так для каждого источника нужна своя тень. Можно её, конечно, распихать по каналам, значит не больше 4х источников.

[ADDED=ncuxonaT]1512401511[/ADDED]
мы блурим сразу и свет и тень, хотя свет нам гладить воще не надо
ну радиосити обычно низкочастотное, поэтому от блюра с маленьким радиусом ему ничего не будет
 
Last edited:

Дядя Миша

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

Attachments

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
В процессе экспериментов наткнулся на неожиданный позитивный эффект, который по идее здорово упрощает весь механизм и даёт приемлимые результаты.
У блура (хоть китайского, хоть какого) есть тенденция к уничтожению теней, что хорошо видно на приведённых ниже скриншотах. Слева направо - без сглаживания, средний - блур 1.5, сразу видно что тень над лампами он уничтожил без остатка. Моё решение заключается в том, чтобы заблурить шадовмапу и дополнительно умножить её на свет (скрин справа). Конечно оно не даёт идеального эффекта, но во первых, на c1a0d самый сложный случай, в других местах эта техника себя зарекомендовала гораздо лучше, во вторых мне эта шадовмапа всё равно нужна для сохранения в карту, а в третьих это гораздо лучше непонятных китайских методов с проекцией фейковой тени прямо в цикле размытия. Здесь хотя бы предиктабельность результата.
 

Attachments

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
сразу видно что тень над лампами он уничтожил без остатка
а блюр применялся до итоговой гамма-коррекции или после?
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 ncuxonaT: до. Если блур не делать, ничего не пропадает.
А вот скриншоты с твоей карты
Без сглаживания, оригинальный китайский блур и мой вариант
 

Attachments

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
2 Дядя Миша: попробуй после. Я блюрю после гамма-коррекции, но перед удалением швов, тени не пропадают.
 

Ku2zoff

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

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 ncuxonaT: не вижу смысла. Если бы гамма влияла на тени, она бы влияла в любом случае.

У Психопата на скрине вон гладенько всё.
У него там судя по всему 8 текселей, на люксель, а у меня 16.
 

ncuxonaT

Well-known member
May 5, 2013
1,136
37
48
Если бы гамма влияла на тени, она бы влияла в любом случае.
Ну ты чего, ну.
Вот типа тень, размытие и гамма-коррекция после размытия.
attachment.php
attachment.php
attachment.php

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

Attachments

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 ncuxonaT: там кроме гаммы есть еще и нормализация цвета. И от нее вреда может быть еще больше чем от гамма-коррекции. Всё это надо потом комплексно тестировать.

Не надо грязи, я специально делал 16, чтобы сравнивать можно было.
У тебя на картинке ровная идеальная линия. Разрешение картинки - 128х128.
Это текстура. Разрешение лайтмапы для такой текстуры соответственно 8х8 пикселей. Так вот бери картинку 8 х 8 пикселей и гладь её гауссом. А потом покажи что получилось. Ты может недогоняешь, то шаг в 16 текселей на люксель предполагает МАКСИМАЛЬНЫЙ РАЗМЕР ЛАЙТМАПЫ 16 х 16. Вот бери эту иконку в 16х16 и заглаживай её гауссом. А я посмотрю как там исчезнут все ступени, когда мы её отмасштабируем на реальный фейс 240х240 юнитов. А еще интересно посмотреть как ты загладишь гауссом лайтмапу 1х2 пикселя. И чем это будет отличаться от любого другого вида сглаживания.
 

ncuxonaT

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

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
2 ncuxonaT: ты компилишь куда? в BSP31?

Я тебе показываю, что если гамма-коррекцию после размытия делать, то тень высветляется и убегает
Ну ты видишь что там крайний пиксель весь теневой, а размытие всегда делает вокруг себя светлую границу. И что ты предлагаешь, гамму применять только к прямому свету, а радиосити не трогать? У тебя порядок действий иной. Вот смотри как у меня
1. рассчёт прямого света и тени
2. блур прямого света и тени
3. умножение света на тень
4. умножение на direct scale
5. рассчёт непрямого света
6. лерпинг непрямого света
7. сложение с прямым светом
8. нормализация цвета, выходящего за границы 256
9. гамма-коррекция
А теперь скажи мне отчего в этом длинном списке ты более всего грешишь именно на гамма-коррекцию? Может быть потому что у тебя оно принципиально по иному формируется и формулы другие? Покажи как у тебя конвейер устроен.
 

ncuxonaT

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

У меня конвейер такой:
1. расчет прямого света и тени (сразу с умножением и прочим).
2. расчет непрямого света поверх прямого.
3. гамма-коррекция.
4. блюр и тонмаппинг.
5. удаление швов.
6. кламп 0-255.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Еще непонятно, почему нормализация не замыкает список.
Так сделала вальва, а эту часть конвейера я еще не трогал.
расчет прямого света и тени (сразу с умножением и прочим).
ну у меня изначально тоже так было, но я тень посчитал дополнительно, т.к. мне её надо сохранить в карту для дальнейшего использования. А попутно выяснилось что умножение на разблуренную тень уменьшает радиус размытия.
Хотя я еще вернусь к этой теме, опробую гаусс, к примеру. У меня ж еще даже делюксмапы нет.
И удаления швов тоже нет, архитектура рассчёта прямого света устроена таким образом, чтобы не допускать их появления. Я ставил кое-какие эксперименты с их удалением но остался недоволен результатами. Помоему лучше избегать появления швов, чем потом их замазывать. Да еще на таком низком разрешении.
 

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