HLFX.Ru Forum
Показать все 319 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Освещение в Source Engine (https://hlfx.ru/forum/showthread.php?threadid=5746)


Отправлено FiEctro 11-10-2021 в 17:27:

Такой вопрос, насколько разумно запекать что нибудь в вертекс колор? Например если есть какой нибудь мультяшный персонаж с жутко размытой текстурой, может лучше будет как раз запечь её в вертекс колор? Ну или освещение на карте, чтобы лайтмапу не таскать, уж какой нить индирект вполне можно в вертексколор запечь, а всё остальное сделать динамикой? Насколько оно прожорливо, и целесообразно? В теории вроде всё ровно, а вот на практике даже не знаю.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 11-10-2021 в 22:04:

Если это уместно, и устраивает, как оно интерполируется, то почему бы нет.

В лоуполи демке с елками я запекал диффузный цвет и индирект в вертекс колор, выглядело нормально.


Отправлено Дядя Миша 12-10-2021 в 05:50:

В вертекс-колор запекать нет особого смысла, потому что это несовместимо с инстансами. Т.е. по uv-координате лайтмапы, мы этот цвет сохраняем в страницу атласа, а потом достаём его оттуда при помощи VTF. Но VTF на старых карточках наверное даже медленее чем полноценная лайтмапа, то есть получается, что по скорости выигрыша никакого. Плюс в том, что мы получим бесшовное освещение без усилий.
В NT я планирую сделать автоматический анализатор, который сам будет определять, какое именно освещение для данного меша лучше выбрать - повертексное или попиксельное. Основная идея заключается в рендеринге треугольников в тестовую текстуру (на CPU) с заданным лайтмапой разрешением. Затем мы считаем сколько у нас получилось люкселей, а сколько вертексов. И на основе этой информации принимаем решение о типе освещения. Такого помоему нигде нет.

Добавлено 12-10-2021 в 08:50:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 14-10-2021 в 21:00:

Понял, спасибо. Ещё такой вопрос, как работает шейдер SSBUMP сорсовский? Понятно что там в каждом канале ракурс теней со смещением в 120 градусов. Но как это подгрузить в 3д? Пробовал по аналогии с нормалями и картой тангенсов, выходит фигня, у нормалей другие углы, откуда они берут или вычисляют эти 120 градусные смещения?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 14-10-2021 в 21:14:

//hl2 basis
vec3 dirx = (vec3 ( 0.816497 , 0.0 , 0.57735 ));
vec3 diry = (vec3 ( -0.408248 , 0.707107 , 0.57735 ));
vec3 dirz = (vec3 ( -0.408248 , -0.707107 , 0.57735 ));


Отправлено Дядя Миша 15-10-2021 в 06:12:

Эти константы - косинусы соответствующих углов.

Их можно перевести обратно в градусы, через arccos или на инженерном калькуляторе выбрать галочку Inv и нажать cos.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-10-2021 в 06:55:

Цитата:
ncuxonaT писал:
//hl2 basis
vec3 dirx = (vec3 ( 0.816497 , 0.0 , 0.57735 ));
vec3 diry = (vec3 ( -0.408248 , 0.707107 , 0.57735 ));
vec3 dirz = (vec3 ( -0.408248 , -0.707107 , 0.57735 ));


На отдельном полигоне оно выглядит вроде как правильно, но вот с тангенсной лайтмапой что то все углы покарёжило, в некоторых местах вообще инвертнуло освещение, как оно там работает? Нужно ли перемножать тангенсную лайтмапу на эти вектора?

Цитата:
Дядя Миша писал:
Эти константы - косинусы соответствующих углов.

Их можно перевести обратно в градусы, через arccos или на инженерном калькуляторе выбрать галочку Inv и нажать cos.


Спасибо попробую.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 15-10-2021 в 08:01:

А что такое тангенсная лайтмапа? Трёхкомпонентная?

Добавлено 15-10-2021 в 10:59:

Вообще я навсидку проглядел все эти техники, гауссовы лайтмапы и прочие - очень много места оно занимает, а если карта большая, то вообще ппц.
Лайтмапа под два гигабайта не вариант.

Добавлено 15-10-2021 в 11:01:

У меня была мысль сделать что-то типа Enlighten, тоже трансферы сохранить в отдельный файл и получилось бы очень приятное реалтайм-радиосити.
Но остановил как раз тот факт, что размер этих трансферов дико большой.
Может потом еще вернусь к этой теме.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-10-2021 в 10:11:

Цитата:
Дядя Миша писал:
А что такое тангенсная лайтмапа? Трёхкомпонентная?




Вот эта вот фигня в сорсе CRNM.
http://www.decew.net/OSS/References...Explanation.pdf

У меня вот такие карты генерируются энлайтеном (directional map). Я их использую чтобы бамп с лайтмапой корректно работал, и всё вроде хорошо. Но вот СС бамп нивкакую с этим работать не хочет.

https://b.radikal.ru/b25/2110/ad/8b0610da8e20.png

Собственно выходит такая дичь:
https://b.radikal.ru/b01/2110/cf/572c17e7e0b1.png

В некоторых случаях работает даже более менее правильно:
https://cdn.discordapp.com/attachments/390627238493814808/898343925788598302/2021-10-15_01.57.42.png
но только под определенными углами

Цитата:
Дядя Миша писал:
Вообще я навсидку проглядел все эти техники, гауссовы лайтмапы и прочие - очень много места оно занимает, а если карта большая, то вообще ппц.
Лайтмапа под два гигабайта не вариант.


А не надо делать их большого разрешения. Таких как в сорсе достаточно. А тени красивые можно и шадоумапой сделать.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 15-10-2021 в 13:34:

FiEctro в сорсе лайтмапа раскладывается по базису, который я написал выше, в касательном пространстве. Сорсовский ССБамп запекает тени и ламберта по тому же базису, чтобы можно было использовать с сорсовскими лайтмапами и вычислять освещение просто как
vec3 diffuseLighting = normal.x * lightmapColor1 + normal.y * lightmapColor2 + normal.z * lightmapColor3;

Лайтмапа, которую ты показываешь, не похожа на сорсовскую, она похожа на делюксмапу, причем в мировом пространстве.

Но ССБамп можно перевести в подобие обычной нормалмапы с тенями и предумноженным АО.
Из первого получить второе
https://i.imgur.com/QC3DzfM.png https://i.imgur.com/LLBbbTD.png


Отправлено Дядя Миша 15-10-2021 в 13:45:

Цитата:
ncuxonaT писал:
она похожа на делюксмапу, причем в мировом пространстве.

Это и есть делюксмапа в мировом пространстве.

Добавлено 15-10-2021 в 16:45:

А в сорсе некокой делюксмапы нет, там трёхкомпонентная RGB-лайтмапа, уже в лайтмаппере предумноженная на базис. В UE аналогично, но лайтмапа монохромная. А в Unity делюксмапа.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-10-2021 в 14:02:

Цитата:
ncuxonaT писал:
FiEctro в сорсе лайтмапа раскладывается по базису, который я написал выше, в касательном пространстве. Сорсовский ССБамп запекает тени и ламберта по тому же базису, чтобы можно было использовать с сорсовскими лайтмапами и вычислять освещение просто


Да я тоже заметил в ПДФ, когда выкладывал сюда скриншоты.

Цитата:
ncuxonaT писал:
Лайтмапа, которую ты показываешь, не похожа на сорсовскую, она похожа на делюксмапу, причем в мировом пространстве.


Как можно запечь правильно эту карту например в блендере? Какие условия нужно соблюсти. У меня так в голове и не укладывается как расположить 3 вектора со смещением в 120 градусов чтобы они показывали это смещение во всём объёме? И опять же они не будут совпадать с двухмерными векторами ssbump карты нормалей.


Цитата:
ncuxonaT писал:
Но ССБамп можно перевести в подобие обычной нормалмапы с тенями и предумноженным АО.
Из первого получить второе
https://i.imgur.com/QC3DzfM.png https://i.imgur.com/LLBbbTD.png


Я так понимаю теряется один из каналов с направлением теней? И как кстати ты сконвертил?
Наверное и придётся так делать, но всё же хотелось разобраться как работает эта технология. В инете нет практически никакой информации на эту тему.

Добавлено 15-10-2021 в 17:02:

Цитата:
Дядя Миша писал:
там трёхкомпонентная RGB-лайтмапа, уже в лайтмаппере предумноженная на базис.


Как она выглядит, и чем отличается от делюксмапы?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 15-10-2021 в 14:19:

Цитата:
FiEctro писал:
Как можно запечь правильно эту карту например в блендере? Какие условия нужно соблюсти. У меня так в голове и не укладывается как расположить 3 вектора со смещением в 120 градусов чтобы они показывали это смещение во всём объёме? И опять же они не будут совпадать с двухмерными векторами ssbump карты нормалей.

Если прям хочешь сорсовские лайтмапы, можно запечь освещение 3 раза, подключая в качестве нормалмапы по очереди эти три текстуры:

https://i.imgur.com/6iRu3Pl.png

Цитата:
FiEctro писал:
Я так понимаю теряется один из каналов с направлением теней? И как кстати ты сконвертил?
Наверное и придётся так делать, но всё же хотелось разобраться как работает эта технология. В инете нет практически никакой информации на эту тему.

Ничего не теряется, тени вписываются в нормалмапу. Получается что-то типа bent normal map.
vec3 norm = dirx * ssbump.x + diry * ssbump.y + dirz * ssbump.z;

Цитата:
FiEctro писал:
Как она выглядит, и чем отличается от делюксмапы?

Вот так выглядит, например.
https://i.imgur.com/uAiRhSi.jpg https://i.imgur.com/T1sJlTU.jpg https://i.imgur.com/dIshufT.jpg


Отправлено FiEctro 15-10-2021 в 14:43:

Цитата:
ncuxonaT писал:
Если прям хочешь сорсовские лайтмапы, можно запечь освещение 3 раза, подключая в качестве нормалмапы по очереди эти три текстуры:



Ничего не теряется, тени вписываются в нормалмапу. Получается что-то типа bent normal map.
vec3 norm = dirx * ssbump.x + diry * ssbump.y + dirz * ssbump.z;



Ого! Такого я ещё не встречал, спасибище огромное. Важная инфа. А как запечь это дело в юнитивскую делюксмапу? Просто сделать всё освещение чернобелым и распихать по каналам? Не очень понимаю, зачем они 3 раза цвет хранят, какой в этом сокральный смысл?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 15-10-2021 в 14:57:

Цитата:
FiEctro писал:
Ого! Такого я ещё не встречал, спибище огромное. Важная инфа. А как запечь это дело в юнитивскую делюксмапу?

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

Добавлено 15-10-2021 в 17:57:

Цитата:
FiEctro писал:
Не очень понимаю, зачем они 3 раза цвет хранят, какой в этом сокральный смысл?

С разных сторон может падать свет разных цветов.
https://i.imgur.com/sw5X70t.jpg https://i.imgur.com/nXEr8jU.jpg


Отправлено FiEctro 15-10-2021 в 15:48:

Это все текстуры лайтмап в сорсе или есть ещё какие то вспомогательные? Ведь обычный бамп там тоже как то работает?

Добавлено 15-10-2021 в 18:48:

И как ты конвертнул ссбамп карту в бент нормал?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 15-10-2021 в 16:20:

Цитата:
FiEctro писал:
Это все текстуры лайтмап в сорсе или есть ещё какие то вспомогательные? Ведь обычный бамп там тоже как то работает?

Все, вроде бы. Да, нормальный бамп так работает.
Типа такого:
Cg Pixel Shader:
1
//обычный бамп
2
vec3 diffuseLighting = vec3(0.0);
3
diffuseLighting += lightmapColor1  * max(0.0, dot(normal, dirx));
4
diffuseLighting += lightmapColor2  * max(0.0, dot(normal, diry));
5
diffuseLighting += lightmapColor3  * max(0.0, dot(normal, dirz));
6
 
7
//ссбамп
8
vec3 diffuseLighting = vec3(0.0);
9
diffuseLighting += lightmapColor1  * normal.x;
10
diffuseLighting += lightmapColor2  * normal.y;
11
diffuseLighting += lightmapColor3  * normal.z;


Цитата:
FiEctro писал:
И как ты конвертнул ссбамп карту в бент нормал?

Cg Pixel Shader:
vec3 norm = dirx * ssbump.x + diry * ssbump.y + dirz * ssbump.z;
norm  = 0.5 * norm  + vec3(0.5); //если сохранять в текстуру


Отправлено Дядя Миша 15-10-2021 в 16:47:

Цитата:
FiEctro писал:
А как запечь это дело в юнитивскую делюксмапу?

ДА НЕ КАК!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-10-2021 в 23:21:

Цитата:
Дядя Миша писал:
ДА НЕ КАК!


Да ладно тебе, наверняка можно как то в делюкс карту преобразовать. Хотябы с потерями.

Добавлено 16-10-2021 в 02:21:

ncuxonaT
Такой вопрос, а как ты вытащил эти 3 лайтмапы из сорса? Сам меш есть этой локации?

И ещё такой вопрос, почему в самом сорсе показывается 4 лайтмапы на фейс, а не 3?
https://cdn.discordapp.com/attachments/509791576768249888/898716053016809513/unknown.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 16-10-2021 в 00:26:

FiEctro это лайтмапы из моей демки, из сорса я ничего не вытаскивал. Вполне вероятно, что четвертая - это обычная лайтмапа в качестве легаси для старого железа, на котором не работает бамп.


Отправлено Дядя Миша 16-10-2021 в 05:27:

Цитата:
FiEctro писал:
Да ладно тебе, наверняка можно как то в делюкс карту преобразовать

Это просто разные типы данных.

Ты мне лучше объясни, как это в Unity можно запекать освещение сторонними программами. Навскидку это делается для мешей не во внутреннем формате Unity, а в каком-то общепринятом, ну например в fbx, это понятно. А как экспортировать описание источников света?
Да и потом, если запечь освещение для исходной геометрии, получается, что при компиляции в нативный формат Unity, её уже нельзя толком оптимизировать?
И почему в Enlighten с твоих слов не очень хороший лайтмаппер?

Цитата:
FiEctro писал:
почему в самом сорсе показывается 4 лайтмапы на фейс, а не 3?

Ты не то смотришь. Четыре лайтмапы на фейс - это наследие первокваки, лайтстили. Но каждый лайтстиль состоит из трёх лайтмап. Таким образом их 12 на самом деле. Или даже 16, потому что четвертая лайтмапа - это fallback для сурфейсов без бампа. Хотя тут хз, конечно. Я уже подзабыл как там оно в сорсе.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 16-10-2021 в 09:53:

Цитата:
Дядя Миша писал:
Ты мне лучше объясни, как это в Unity можно запекать освещение сторонними программами. Навскидку это делается для мешей не во внутреннем формате Unity, а в каком-то общепринятом, ну например в fbx, это понятно. А как экспортировать описание источников света?


Лайтмапа это всего лишь текстура, делаешь у модели отдельную развертку для лайтмапы и используешь материалы с шейдером который может подгружать твою лайтмапу. А уж что ты там в шейдере напишешь, это на что твоей фантазии хватит.

Во внутренний формат юнити всё конвертируется когда мы уже собираем проект, до этого же момента мы оперируем сырыми данными. Энлайтен сохраняет лайтмапу и делюксмапу как простую текстуру. Самая сложность в стороннем запекании поджидает нас в другом месте - лайтпробы. Но думаю и эта проблема решаема.

Цитата:
Дядя Миша писал:
Да и потом, если запечь освещение для исходной геометрии, получается, что при компиляции в нативный формат Unity, её уже нельзя толком оптимизировать?


Фишка Юнити что он не навязывает тебе свои форматы. Юзер вообще не обязан с ними возиться. Он работает со своими собственными текстурами и моделями в том формате который нужен ему. Какого то особого формата карт у Юнити нет, для него любая геометрия модель типа статик или динамик. Статик используется как раз для запекания встроенными средствами. Вся оптимизация у тебя ложится на шейдер через которую ты подгружаешь лайтмапу. Через шейдер ты можешь управлять моделью освещения и смешивать динамические и статические источники света. Проблема БСП то что он спамит развертками, и разбивает лайтмапу на кучу маленьких кусочков. Это делает его не очень гибким, в плане плясок с лайтмапами.

Цитата:
Дядя Миша писал:
И почему в Enlighten с твоих слов не очень хороший лайтмаппер?


В процессе разбора всей этой темы выяснилось что у того же сорса например оооочень оптимизированный компилятор. То что он делает за секунды, Энлайтену нужны минуты. Беда в том что Енлайтен работает как классический запекатор из 3д пакетов, если специально не подготовить развертку для лайтмапы, стандартный развертывальщик может наломать дров и наделать артефактов вроде наложенных друг на друга UV островков. Но не стоит бояться, тот же блендер умеет автоматически создавать развертки для лайтмап где ничего не пересекается.


Цитата:
ncuxonaT писал:
FiEctro это лайтмапы из моей демки, из сорса я ничего не вытаскивал. Вполне вероятно, что четвертая - это обычная лайтмапа в качестве легаси для старого железа, на котором не работает бамп.


Понятно, я вижу у тебя здесь 3 лайтмапы с белым, серым и тёмносерым куском, в каком порядке их грузить? Я пробовал загрузить их у себя, работает конечно оно намного лучше, но направления теней всеравно косячат. Можешь прислать этот меш мне в личку? Или дискорд (FiEctro#8426) ? Мне просто тестить не на чем. Пытался выдрать лайтмапы из сорса, а там вообще муть какая то, а не лайтмапы.

Цитата:
FiEctro писал:
Это просто разные типы данных.


Если не сложно, расскажи по каким правилам оно запекается. И как вообще работает. Я так понял это что то вроде карты нормалей, но меня удивило то что на ней присутствуют тени.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 16-10-2021 в 13:33:

Цитата:
FiEctro писал:
Лайтмапа это всего лишь текстура

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

Цитата:
FiEctro писал:
Самая сложность в стороннем запекании поджидает нас в другом месте - лайтпробы.

В каком смысле сложность? И вообще, в Unity запекание сторонними программами освещения, это официальная политика или хитрости её пользователей?

Цитата:
FiEctro писал:
Фишка Юнити что он не навязывает тебе свои форматы

Любой движок обязан иметь свой игровой формат и Юнити в этом неисключение.
Цитата:
FiEctro писал:
Какого то особого формата карт у Юнити нет, для него любая геометрия модель типа статик или динамик.

Ну здрасти приехали. Есть у него свой формат карт, по крайней мере - исходный. Чем-то похож на .map там тоже key-value и пути к моделям, точнее GUID вместо путей.
Цитата:
FiEctro писал:
Вся оптимизация у тебя ложится на шейдер через которую ты подгружаешь лайтмапу

Ты не оптимизируешь геометрию через шейдер, ты не отсечёшь пол-уровня через шейдер. Во всяком случае если это обычные шейдеры.
Впрочем учитывая как Unity тормозит, это находит подтверждение. Именно поэтому он так и тормозит.
Цитата:
FiEctro писал:
Проблема БСП то что он спамит развертками, и разбивает лайтмапу на кучу маленьких кусочков

Глупость. Во первых начнём с того, что сам Кармак в своё время не морочился и для кубичной архитектуры принял допущение - одна сторона браша, один кусок лайтмапы. На типичной геометрии это неплохо работает, но на брашевых террайнах уже потенциально начинается ужос-ужос, а если брашы треугольные, то вообще.
Во вторых разделение лайтмапы на кусочки имело смысл из-за наличия лайтстилей. Дискретизация пространства, чтобы не захватывать под лайтстиль тот кусок, который гарантированно не освещается лампочкой с этим стилем. Квейк, напоминаю, умел запускаться на компе с 4mb оперативы.
В третьих, опять какие-то предрассудки насчёт BSP. То что BSP порезал вовсе необязательно использовать. Дерево построено и в него можно отфильтровать исходные полигоны, не разрезая их. Именно так я и сделал в XashNT. Получил большие непрерывные и абсолютно бесшовные лайтмапы. Ожидаемо лишился лайтстилей. Ну впрочем я над ними еще подумаю.
Цитата:
FiEctro писал:
что у того же сорса например оооочень оптимизированный компилятор

Да? Я KD-Tree оттуда взял. И если правильно проводил серию тестов, то в NT запекание света, еще быстрее чем в сорсе. Он у меня может спокойно на сталкеровской карте освещение просчитать за полтора часа. Впрочем среди аудитории мы контрольных тестов не проводили, а надо бы.
Цитата:
FiEctro писал:
Но не стоит бояться, тот же блендер умеет автоматически создавать развертки для лайтмап где ничего не пересекается.

Ну в NT этим компилятор занимается. Построение бесшовной развертки может отнимать чертовски много времени, на самом-то деле.
Цитата:
FiEctro писал:
Если не сложно, расскажи по каким правилам оно запекается

В Сорсе вся фишка в функции GetBumpNormals. Берём сглаженный базис (или сглаживаем его прямо в этой же функции) и используем тот базис, который выше привёл Психопат, как матрицу для обратного разворота исходного базиса. Почему обратного тоже понятно - при рендеринге мы получаем обратный поворот, умножая эти значения на компоненты нормали. Далее мы выполняем обычную фазу сбора света, но сохраняем dot для четырёх случаев: - для обычной фонг-нормали и для трёх инвертированных векторов нашего базиса.
Затем мы мы просто умножаем исходный свет от лампочки на эти четыре результата dot и получаем 4 значения для каждого люкселя.
Первое значение - самая обычная лайтмапа. А три следующих - те самые выполненные с отклонением на 120 градусов от фонг-нормали.
И в результате получается, что это интенсивность света, которую можно умножать на компоненты нормали в нормал-мапе и получать вот такое освещение как в сорсе.
Принцип неизменный, чем больше всякой дополнительной даты мы сохраняем, тем интереснее эффекты можно замутить.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 16-10-2021 в 14:05:

Цитата:
FiEctro писал:
Понятно, я вижу у тебя здесь 3 лайтмапы с белым, серым и тёмносерым куском, в каком порядке их грузить?

Темно-серый - Х, серый - Y, белый - Z. Меш прикладываю.
Цитата:
FiEctro писал:
Но не стоит бояться, тот же блендер умеет автоматически создавать развертки для лайтмап где ничего не пересекается.

Если речь про Lightmap Pack, то это бесполезный кал, который всё пытается подогнать под квадрат или прямоугольник, лепит искажения и плевать хотел на соблюдение пропорций. Слева развертка, которую он создает.
https://i.imgur.com/nnCJ9MQ.jpg

Добавлено 16-10-2021 в 17:05:

Дядя Миша ты так путано объясняешь


Отправлено FiEctro 16-10-2021 в 14:09:

Цитата:
Дядя Миша писал:
Поржал, спасибо. Геометрия может бы как угодно подготовлена для более оптимального вывода, порезана на куски тем или иным образом, соптимизирована, наконец саму развертку для лайтмапы подготовить крайне нетривиальная задача. Это вообще можно сказать - половина дела, причём главная половина. Лайтмаппер не делает ничего особенного ровным счётом, решает уравнение рендеринга, точнее его частеный случай для каждого люкселя и всех лампочек. Этот механизм наоборот предельно прозрачен и от его реализации качество освещения зависеть вообще не должно.



А что смешного? Всеравно это текстура текстурой. А как ты это готовишь, это уже не проблема движка.

Цитата:
Дядя Миша писал:
В каком смысле сложность? И вообще, в Unity запекание сторонними программами освещения, это официальная политика или хитрости её пользователей?


Это хитрости пользователей, так то Энлайтен пытается как и ХЛ компилятор всё сам в себе разрулить. Но как обычно это работает не всегда идеально и даёт артефакты. Потому можно замутить свою систему освещения и плясать уже от неё. Но это только для извращенцев вроде нас с тобой. Остальные используют стандартные средства и не парятся.

Цитата:
Дядя Миша писал:
Любой движок обязан иметь свой игровой формат и Юнити в этом неисключение.


Одно дело когда эти форматы подгружаются во время игры. И совсем другое дело когда ты вынужден чтобы поменять какую то детальку на текстурке, сначала сохранить в один формат, а потом в другой, чтобы посмотреть как оно будет в игре.

Цитата:
Дядя Миша писал:
Ну здрасти приехали. Есть у него свой формат карт, по крайней мере - исходный. Чем-то похож на .map там тоже key-value и пути к моделям, точнее GUID вместо путей.


Имеешь ввиду сцены? Ну понятие сцены куда шире обычной карты, на одной сцене ты буквально можешь целую игру уместить. Это скорее для удобства.

Цитата:
Дядя Миша писал:
Ты не оптимизируешь геометрию через шейдер, ты не отсечёшь пол-уровня через шейдер. Во всяком случае если это обычные шейдеры.
Впрочем учитывая как Unity тормозит, это находит подтверждение. Именно поэтому он так и тормозит.


Речь шла о лайтмапах, юнити не отсекает геометрию, юнити отсекает объекты. Яж говорю что в БСП хранится лютая каша из полигонов со своими развертками и каждый из них живёт своей жизнью. В юнити же маппер делает комнатки цельной моделью, а отсечь модель куда проще чем отдельную геометрию. Но ты так же можешь загрузить и БСП, он так же сохранит полигоны в объекты и будет отсекать их как в движках Кармака. Впрочем это скорее мой подход, многие этим вообще не заморачиваются, отсюда и тормоза.

Цитата:
Дядя Миша писал:
Во вторых разделение лайтмапы на кусочки имело смысл из-за наличия лайтстилей. Дискретизация пространства, чтобы не захватывать под лайтстиль тот кусок, который гарантированно не освещается лампочкой с этим стилем. Квейк, напоминаю, умел запускаться на компе с 4mb оперативы.


Эта проблема решается дополнительной разверткой, юнити конечно не запустить с 4мб оперативы, но я и компов давно таких не видел.

Цитата:
Дядя Миша писал:
В третьих, опять какие-то предрассудки насчёт BSP. То что BSP порезал вовсе необязательно использовать. Дерево построено и в него можно отфильтровать исходные полигоны, не разрезая их.


Это называется самому себе создавать проблемы, сначала превратить геометрию в мусор, потом пытаться восстановить что то из этого мусора. Мне лайтстили не нужны, динамические источники с тенями сейчас тянут даже мобилы. Но сделать их совсем не трудно.

Цитата:
Дядя Миша писал:
Да? Я KD-Tree оттуда взял. И если правильно проводил серию тестов, то в NT запекание света, еще быстрее чем в сорсе. Он у меня может спокойно на сталкеровской карте освещение просчитать за полтора часа. Впрочем среди аудитории мы контрольных тестов не проводили, а надо бы.


В сравнении с классическими 3д пакетами я бы сказал. А вот насколько он быстр в сравнении с другими БСП компиляторами, я не знаю.

Цитата:
Дядя Миша писал:
Ну в NT этим компилятор занимается. Построение бесшовной развертки может отнимать чертовски много времени, на самом-то деле.


В блендере делается за пару кликов и пару минут в полуавтоматическом режиме. Хочешь бесшовные, хочешь не бесшовные, с любой проекцией на свой вкус. Больше возни чем в хаммере, но я научился с этим работать.


Цитата:
Дядя Миша писал:
В Сорсе вся фишка в функции GetBumpNormals. Берём сглаженный базис (или сглаживаем его прямо в этой же функции) и используем тот базис, который выше привёл Психопат, как матрицу для обратного разворота исходного базиса.


Что подразумевается под базисом? Это вот эти 3 вектора с которыми запекается лайтмапа?

Добавлено 16-10-2021 в 17:09:

Цитата:
ncuxonaT писал:
Темно-серый - Х, серый - Y, белый - Z. Меш прикладываю.

Если речь про Lightmap Pack, то это бесполезный кал, который всё пытается подогнать под квадрат или прямоугольник, лепит искажения и плевать хотел на соблюдение пропорций. Слева развертка, которую он создает.



Спасибо! Логично что он будет подгонять всё под квадрат, ведь картинки лайтмапы как и её пиксели тоже квадратные. А иначе что? Получать лесенки на скосах? Такие проблемные места можно переразвернуть отдельно.

Та же кубическая проекция + пак исландс вполне неплохо справляется, в любом случае для наиболее качественных результатов придётся допиливать UV напильником, но это уже для перфекционистов.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 16-10-2021 в 14:19:

Цитата:
FiEctro писал:
Логично что он будет подгонять всё под квадрат, ведь картинки лайтмапы как и её пиксели тоже квадратные.

Он может квадрат развернуть вытянутым прямоугольником, лайтмапа растянутая будет. Посмотри на куб на скрине выше.

Добавлено 16-10-2021 в 17:19:

Запустил ради интереса развертку спонзы единым мешем, уже полчаса он думает.


Отправлено FiEctro 16-10-2021 в 14:28:

Цитата:
ncuxonaT писал:
Запустил ради интереса развертку спонзы единым мешем, уже полчаса он думает.


А в чем прикол разворачивать спонзу единым мешем? Я вообще не делаю карты единым мешем. Какой смысл переразворачивать каждый раз то, что уже было доделано?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 16-10-2021 в 14:43:

Цитата:
FiEctro писал:
А в чем прикол разворачивать спонзу единым мешем?

оценить способности


Отправлено FiEctro 16-10-2021 в 14:50:

Дядя Миша пожалуйста вынеси этот тред в отдельную тему "Освещение в Source Engine". Думаю многим эта тема будет полезной, учитывая довольно скудное количество информации в интернете.

Спасибо вам за ценную инфу. Буду разбираться с шейдером.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 16-10-2021 в 15:53:

Цитата:
FiEctro писал:
А как ты это готовишь, это уже не проблема движка.

Ну да, Unity ни за что ответственности не несёт, всегда кривые руки автора.
Цитата:
FiEctro писал:
Энлайтен пытается как и ХЛ компилятор всё сам в себе разрулить

Так ему уже минимум 13 лет, неужели до сих пор не отшлифовали?
Цитата:
FiEctro писал:
Ну понятие сцены куда шире обычной карты, на одной сцене ты буквально можешь целую игру уместить

Можно подумать в кваке нельзя сделать всю игру на одной карте. В Unity это долгое время не от хорошей жизни было, а от отсутствия дефолтного чейнджлевела. И сериализации из каробки там тоже небыло ЕМНИП.

Цитата:
FiEctro писал:
юнити не отсекает геометрию, юнити отсекает объекты

Так в этом нет никакого смысла. Вот у тебя объект - террайн, как ты его отсечёшь? Он же всегда виден. Очевидно его надо раздробить на мелкие дребезги, но при этом сохранив бесшовность лайтмапы. И тогда отсечение будет нормально работать. Либо Unity ждёт, когда юзер его сам ручками порежет. А если не порежет, то так и будет всё тормозить.
Цитата:
FiEctro писал:
Яж говорю что в БСП хранится лютая каша из полигонов со своими развертками и каждый из них живёт своей жизнью

Да что ты к этому BSP привязался, я понять-то не могу
То что вы видел в первой кваке и первой халфе - это всего лишь один из способов организации, актуальный в конце 90-х. Но это не значит, что использование BSP-дерева непременно даёт кашу из полигонов. Страшный секрет тебе открою - BSP может ВООБЩЕ НИЧЕГО НЕ РЕЗАТЬ.
Да, такие деревья тоже бывают.
Цитата:
FiEctro писал:
Эта проблема решается дополнительной разверткой

Эта проблема НЕ РЕШАЕТСЯ никак. Четыре лайтстиля - четыре дополнительных UV-канала, жирный вертекс, распухшая геометрия.
Один uv-канал - куча под-страниц лайтмапы. Вот два зла из которых придётся выбирать. И оба решения поганые.
Цитата:
FiEctro писал:
сначала превратить геометрию в мусор, потом пытаться восстановить что то из этого мусора.

Алло, ты читаешь что я пишу. Никто ничего не восстанавливает из мусора.
1. Строится дерево (которое режет полигоны)
2. Порезанные полигоны просто удаляются, они уже не нужны
3. Исходная геометрия (т.е. до построения дерева) фильтруется в уже построенное дерево
4. Она при этом не режется и никак не меняется.
5. Всё. Дерево построено, геометрия не изменилась.
Цитата:
FiEctro писал:
В блендере делается за пару кликов и пару минут в полуавтоматическом режиме. Хочешь бесшовные, хочешь не бесшовные, с любой проекцией на свой вкус

ЫЫЫЫ. Эта задача ВООБЩЕ не имеет фундаментального решения, потому что уничтожение одного измерения не имеет строгой формализации. Нет решения этой задачи в принципе. Даже нейросеть тут бессильна.
Цитата:
FiEctro писал:
Что подразумевается под базисом? Это вот эти 3 вектора с которыми запекается лайтмапа?

Базисов там два. Первый - это сглаженный тангент-спейс вершины. Он вращается при помощи того константного базиса, который выше привёл Психопат. Обратное вращение там применяется.
Цитата:
ncuxonaT писал:
Запустил ради интереса развертку спонзы единым мешем, уже полчаса он думает.

Ты UVAtlas из DX не юзал?
Цитата:
FiEctro писал:
пожалуйста вынеси этот тред в отдельную тему "Освещение в Source Engine"

Да надо будет.

Добавлено 16-10-2021 в 18:53:

Цитата:
ncuxonaT писал:
Слева развертка, которую он создает.

А справа что?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 16-10-2021 в 16:18:

Цитата:
Дядя Миша писал:
Он вращается при помощи того константного базиса, который выше привёл Психопат. Обратное вращение там применяется.

Вроде бы ничего там не вращается. Свет падает на поверхность со всех сторон по полусфере. Валв придумали разложить его на части по трем направлениям. А вес задается косинусом между базисным направлением и тем, откуда свет падает.

Цитата:
Дядя Миша писал:
Ты UVAtlas из DX не юзал?

Нет, да я особо автоматическими анврапами и не интересовался.
Цитата:
Дядя Миша писал:
А справа что?

Справа 3дмакс и руки. В блендере есть еще автоматический Smart UV Project, он пакует лучше чем Lightmap Pack.


Отправлено Дядя Миша 16-10-2021 в 17:01:

Цитата:
ncuxonaT писал:
Вроде бы ничего там не вращается

C++ Source Code:
1
// move the g_localBumpBasis into world space to create bumpNormals
2
for( i = 0; i < 3; i++ )
3
{
4
  VectorIRotate( g_localBumpBasis[i], smoothBasis, bumpNormals[i] );
5
}

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 16-10-2021 в 17:16:

Дядя Миша это перевод базиса из касательного пространства в мировое, нет?


Отправлено Дядя Миша 16-10-2021 в 18:13:

ну да, вон же там вверху написано.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 16-10-2021 в 22:36:

https://cdn.discordapp.com/attachments/898227737842573353/899062703564402748/2021-10-17_01.33.13.png

Вроде выглядит убедительно, спасибо ещё раз. Очень сильно помогли, без вас бы не справился.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 16-10-2021 в 22:47:

FiEctro не за что, обращайтесь. Попробуй еще у нормалмапы инвертировать зеленый канал.


Отправлено FiEctro 17-10-2021 в 00:23:

Ещё такой вопрос, как запекают спекуляр для лайтмап? Или это теже динамические источники света только упрощенные?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 17-10-2021 в 05:34:

А вот спекуляр с сорсовским освещением уже несовместим.
В самом сорсе он через кубемапы делается.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 17-10-2021 в 10:48:

Цитата:
Дядя Миша писал:
А вот спекуляр с сорсовским освещением уже несовместим.
В самом сорсе он через кубемапы делается.


Можно поподробнее?

Я тут кстати придумал как можно запекать лайтпробы прямо в блендере.
Теперь можно полностью использовать своё кастомное освещение :3.

https://cdn.discordapp.com/attachments/898227737842573353/899241924240756736/2021-10-17_13.25.38.png

Делается меш из кубов проб, и освещение записываем в их собственный вертекс паинт. Таким образом, такие пробы мы можем в любом движке подгрузить и использовать со специальным шейдером.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 17-10-2021 в 12:49:

Цитата:
FiEctro писал:
Можно поподробнее?

смотри шейдер сорсовский, там есть всё это. Лукап в кубемапу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 17-10-2021 в 14:25:

Цитата:
FiEctro писал:
Ещё такой вопрос, как запекают спекуляр для лайтмап?

Никак, все методы получения спекуляра из лайтмап артефачные. Для сорсовских лайтмап можно сделать вид, что светят 3 лампочки с разных сторон, на сильно шероховатых материалах это даже будет прилично выглядеть. Или можно сделать подобие делюксмапы, посчитав средний цвет и среднее направление, и это будет артефачить так как же как делюксмапа:


Добавлено 17-10-2021 в 17:25:

Цитата:
FiEctro писал:
Я тут кстати придумал как можно запекать лайтпробы прямо в блендере.

Блендером печь освещение очень долго.


Отправлено Дядя Миша 17-10-2021 в 16:38:

Можно свет считать налету, а в лайтмапу запекать только тень.
Ну и индирект еще.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 17-10-2021 в 18:23:

Цитата:
ncuxonaT писал:
Блендером печь освещение очень долго.


А чем быстро? Я использую деноизер, это позволяет сильно сократить время при запекании.

Цитата:
Дядя Миша писал:
Можно свет считать налету, а в лайтмапу запекать только тень.
Ну и индирект еще.


Ну да, радиосити статика, а директ - динамика. Ну ещё можно всякие декоративные источники делать статикой, например теже лампочки у пола, им динамические тени особо не нужны.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 17-10-2021 в 21:26:

Цитата:
FiEctro писал:
А чем быстро? Я использую деноизер, это позволяет сильно сократить время при запекании.

Лайтбейкером, конечно же. За сколько блендер с денойзером запечет сцену, которую я скинул, в 1024х1024?


Отправлено FiEctro 17-10-2021 в 22:02:

Цитата:
ncuxonaT писал:
Лайтбейкером, конечно же. За сколько блендер с денойзером запечет сцену, которую я скинул, в 1024х1024?


Это тот компилятор что ты адаптировал для хл?
Лайтбекер может запекать освещение для обычных моделей, не преобразуя их в бсп?

Цитата:
ncuxonaT писал:
За сколько блендер с денойзером запечет сцену, которую я скинул, в 1024х1024?


Если на цпу на моём ноуте где то секунд 30 примерно, но кое где будут проскакивать шумы. Но если хорошее прям качество выставить, то минуты 2.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 17-10-2021 в 22:13:

Цитата:
FiEctro писал:
Это тот компилятор что ты адаптировал для хл?
Лайтбекер может запекать освещение для обычных моделей, не преобразуя их в бсп?

Да. Может, он запекает бсп, преобразуя их в обж.


Отправлено FiEctro 17-10-2021 в 22:21:

Цитата:
ncuxonaT писал:
Да. Может, он запекает бсп, преобразуя их в обж.


Где можно пощупать версию для обж? Без халфовских форматов.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 18-10-2021 в 01:39:

Нет версии, пригодной для использования конечным пользователем. Я не придумал, каким должен быть интерфейс.


Отправлено FiEctro 18-10-2021 в 07:02:

Цитата:
ncuxonaT писал:
Нет версии, пригодной для использования конечным пользователем. Я не придумал, каким должен быть интерфейс.


Так а смысл то тогда какой в нём? Если просто нужны идеи пиши, может что то подскажу. У меня в голове сформировалось примерное видение что должен уметь подобный запекатор. Но это уже наверное чисто OBJ версия.

Добавлено 18-10-2021 в 10:02:

Вот в плане интерфейса можно что то вроде такого. Большинство запекальщиков (блендер, юнити, анрил), строятся примерно по такому способу.
https://a.radikal.ru/a13/2110/91/85dddefed167.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 18-10-2021 в 07:11:

Объясните мне вот какую вещь интересную. Формат obj не предполагает хранение номера страницы атласа лайтмапы. Может быть в ase еще кастомную строку можно вписать и самостоятельно её парсить, но в obj такое не приветствуется. Из чего логически вытекает, что на каждую модель может быть только одна страница атласа. Но модели бывают разные.
Вот возьму я скажем ЧАЭС из сталкера одним obj. И как мне все её полигоны уместить в одну страницу лайтмапы? ДА НЕ КАК.
И что делать?

Добавлено 18-10-2021 в 10:11:

В NT для промежуточного формата я рассчитываю атлас не для конкретной страницы, а в абсолютном пространстве, без соотношения к люкселю.
Т.е. координаты UV для атласа находятся в юнитах и сами эти бесшовные куски могут пересекаться друг с другом как угодно по этим координатам.
Главное чтобы кусок не пересекался сам с собой. Ну а дальше я просто умножаю эти координаты в юнитах на (1.0 / lightmapSampleSize) и получаю желаемый масштаб лайтмапы, который выставил пользователь. И вот же в таком виде фильтрую в реальные страницы атласа, которые генерирует компилятор. В ту же тему и генерация лайтмап для инстанс-моделей, но там еще более хитро сделано. Там сперва считается мини-атлас для отдельно взятой модели, как бы в локальном пространстве. И получается нечто вроде мини-странички, для которой в реальной лайтмапе целиком выделяется место. А в структуре инстанс-моделей есть двухмерный оффсет в странице, а сами UV естественно используются одни и те же.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 18-10-2021 в 09:08:

Цитата:
Дядя Миша писал:
Объясните мне вот какую вещь интересную. Формат obj не предполагает хранение номера страницы атласа лайтмапы. Может быть в ase еще кастомную строку можно вписать и самостоятельно её парсить, но в obj такое не приветствуется. Из чего логически вытекает, что на каждую модель может быть только одна страница атласа. Но модели бывают разные.
Вот возьму я скажем ЧАЭС из сталкера одним obj. И как мне все её полигоны уместить в одну страницу лайтмапы? ДА НЕ КАК.
И что делать?


Насчёт .obj не знаю. Но вообще развёрток может быть огромное количество, и они могут перекрывать друг друга, например если ты захочешь сделать минилайтмапу для лайтстилей. И эти атласы это теже самые развертки которыми спамит классический бсп, и соответственно вместо нормальной развертки там 1 полигон = 1 лайтмапа (хоть и очень маленькая), во всяком случае так экспортирует крафти, но как ты писал что это не всегда так.

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

Т.е. формально у тебя есть сцена с ЧАЭС. По ней всей шуруют лучи рейтрейсера, но ты например можешь взять меш только террейна и запечь лайтмапу только для террейна. При этом само здание ЧАЭС не перезапишется, если ты сам не сделаешь это. Сам посуди, зачем каждый раз пересчитывать освещение абсолютно на всей карте, если ты хочешь отредактировать маленький кусочек?

У меня буквально была идея запечь анимацию из лайтмап, и с интерполяцией в шейдере её проигрывать путем смены материалов. Можно так впихнуть бесконечное количество лайтстилей. Один вопрос только - нафига? если в юнити и так есть динамические источники.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 18-10-2021 в 10:34:

Цитата:
FiEctro писал:
Сам посуди, зачем каждый раз пересчитывать освещение абсолютно на всей карте, если ты хочешь отредактировать маленький кусочек?

Если речь идёт о прямом свете - то незачем. Но если об индиректе, то по другому никак просто. Можно пытаться в некотором радиусе это сделать, но это не слишком надёжно.

Цитата:
FiEctro писал:
но ты например можешь взять меш только террейна и запечь лайтмапу только для террейна.

Так я же и говорю, что у меня единый меш. Мне что его разбивать на составляющие вручную?

Цитата:
FiEctro писал:
Можно так впихнуть бесконечное количество лайтстилей

Нельзя. Ты эти лайтстили запечёшь, ну допустим в мультислойную текстуру.
И сколько такая текстура будет весить? Гигабайт?
Абсолютно любая задача в программировании упирается либо в память, либо в процессорное время.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 18-10-2021 в 12:59:

Цитата:
Дядя Миша писал:
Нельзя. Ты эти лайтстили запечёшь, ну допустим в мультислойную текстуру.
И сколько такая текстура будет весить? Гигабайт?
Абсолютно любая задача в программировании упирается либо в память, либо в процессорное время.


Ничего не упрётся, просто меняешь сам материал и всё. Никаких мультислойных текстур. И 2 лайтстиля на материал для интерполяции, тебя же не просят запекать абсолютно каждый кадр, 6-12 лайтстилей хватит чтобы вращать тоже солнышко и это твои слова, ты сам это говорил. Если предположить что у нас солнышко одноцветное как и GI можно вообще всё в 1 шейдер утолкать.

Но по факту 1 текстура - материал. Если уж совсем в край упороться - проецировать видеоролик через шейдер.

Но опять - зачем всё это? Динамические источники света сейчас тянут даже мобилы, даже с тенями. Как и гигабайт памяти даже по меркам сорса 2004 года не такая уж нереальная цифра.

Цитата:
Дядя Миша писал:
Так я же и говорю, что у меня единый меш. Мне что его разбивать на составляющие вручную?


У меня обратная проблема при конвертации из БСП, там ещё эти тджунки дуратские. Да и лайтмапу из кусочков я не знаю как клеить.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 18-10-2021 в 13:22:

Цитата:
FiEctro писал:
6-12 лайтстилей хватит чтобы вращать тоже солнышко и это твои слова, ты сам это говорил.

Да хватит, но уже не актуально, скажем так.

Цитата:
FiEctro писал:
Ничего не упрётся, просто меняешь сам материал и всё

Если у тебя карта не игрушечная, сколько места лайтмапы займут?

Цитата:
FiEctro писал:
там ещё эти тджунки дуратские.

Здрасти-приехали. T-Junc везде нужны, не только для брашей. В брашах просто ситуации когда они нужны регулярно возникают, если моделировать треугольниками, то намного реже.
Цитата:
FiEctro писал:
Да и лайтмапу из кусочков я не знаю как клеить.

Куда клеить?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 18-10-2021 в 13:30:

Цитата:
Дядя Миша писал:
Если у тебя карта не игрушечная, сколько места лайтмапы займут?


Карта в стиле даста 2 или инферно вполне умещается на ргб 1024х1024, можно и побольше. Не забывай, мне не нужно сверчеткое качество лайтмапы, ибо тени можно получить шадоумапами теми же. Задача лайтмапы это в основном индирект и GI.

Цитата:
Дядя Миша писал:
Куда клеить?


Ну вот чтобы как у Психопата единый атлас получился.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 18-10-2021 в 13:43:

FiEctro вообще я думал про наглядный интерфейс с визуализацией, чтобы можно было расставить источники света. Потому что обж их не поддерживает.

Дядя Миша в obj у uvw 3 координаты, номер атласа можно задавать через w. Но в чем проблема уместить все полигоны в одну страницу?

Цитата:
Дядя Миша писал:
T-Junc везде нужны, не только для брашей.

За тжунки в приличном обществе бьют лицо.
Цитата:
FiEctro писал:
У меня обратная проблема при конвертации из БСП, там ещё эти тджунки дуратские. Да и лайтмапу из кусочков я не знаю как клеить.

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


Отправлено FiEctro 18-10-2021 в 13:57:

Цитата:
ncuxonaT писал:
FiEctro вообще я думал про наглядный интерфейс с визуализацией, чтобы можно было расставить источники света. Потому что обж их не поддерживает.


Да лучше уж тогда .fbx или .blend парсить. Они вроде как сохраняют источники света, во всяком случае юнити пытается их воспроизвести у себя на сцене. А там можно преобразовать и в обж, и во всё что угодно.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 18-10-2021 в 14:20:

FiEctro оба формата слишком сложные.
При конвертации из бсп в обж я дописывал в него дополнительную инфу в виде комментариев. Типа
#lights_start
#direct 932 220 -4 0.078431 0.078431 0.078431 -15 90 0 5 0 0
#omni 324 512 -1344 0.516724 0.516724 0.784314 0 0 0 0 0 0
#lights_end
Насколько затруднительно научить блендер такое дописывать?


Отправлено FiEctro 18-10-2021 в 15:23:

>> Насколько затруднительно научить блендер такое дописывать?

Хз, я в питоне не шарю. Но думаю такое возможно.
Например что то вроде этого:
https://github.com/sobotka/blender-...fter_effects.py

C++ Source Code:
1
#target AfterEffects
2
 
3
/**************************************
4
Scene : Scene
5
Resolution : 1920 x 1080
6
Duration : 10.416667
7
FPS : 24.000000
8
Date : 2021-10-18 18:37:05.530400
9
Exported with io_export_after_effects.py
10
**************************************/
11
 
12
 
13
 
14
function compFromBlender(){
15
 
16
  var compName = prompt("Blender Comp's Name \nEnter Name of newly created Composition","BlendComp","Composition's Name");
17
  if (compName){
18
    var newComp = app.project.items.addComp(compName, 1920, 1080, 1.000000, 10.416667, 24.000000);
19
    newComp.displayStartTime = 0.083333;
20
 
21
 
22
    // **************  CAMERA 3D MARKERS  **************
23
 
24
 
25
    // **************  OBJECTS  **************
26
 
27
    var _Cube = newComp.layers.addNull();
28
    _Cube.threeDLayer = true;
29
    _Cube.source.name = "_Cube";
30
    _Cube.property("position").setValue([960.000000,540.000000,0.000000],);
31
    _Cube.property("orientation").setValue([-90.000000,-0.000000,0.000000],);
32
    _Cube.property("scale").setValue([100.000000,100.000000,100.000000],);
33
 
34
 
35
    // **************  SOLIDS  **************
36
 
37
 
38
    // **************  IMAGES  **************
39
 
40
 
41
    // **************  LIGHTS  **************
42
 
43
    var POINT_Light = newComp.layers.addLight("POINT_Light", [0.0, 0.0]);
44
    POINT_Light.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
45
    POINT_Light.property("position").setValue([8786.391113,-10795.415039,1930.471558],);
46
    POINT_Light.property("orientation").setValue([-105.366619,-34.499094,-110.666823],);
47
    POINT_Light.property("intensity").setValue([100000.000000],);
48
    POINT_Light.property("Color").setValue([1.000000,1.000000,1.000000],);
49
 
50
    var POINT_Point = newComp.layers.addLight("POINT_Point", [0.0, 0.0]);
51
    POINT_Point.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
52
    POINT_Point.property("position").setValue([-6525.077637,-5859.921387,-9057.288086],);
53
    POINT_Point.property("orientation").setValue([-90.000000,-0.000000,0.000000],);
54
    POINT_Point.property("intensity").setValue([1000.000000],);
55
    POINT_Point.property("Color").setValue([1.000000,1.000000,1.000000],);
56
 
57
    var SUN_Sun = newComp.layers.addLight("SUN_Sun", [0.0, 0.0]);
58
    SUN_Sun.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
59
    SUN_Sun.property("position").setValue([-3933.934570,-9684.547852,1523.843506],);
60
    SUN_Sun.property("orientation").setValue([-90.000000,-0.000000,0.000000],);
61
    SUN_Sun.property("intensity").setValue([100.000000],);
62
    SUN_Sun.property("Color").setValue([1.000000,0.060095,0.145128],);
63
 
64
 
65
    // **************  CAMERAS  **************
66
 
67
    var _Camera = newComp.layers.addCamera("_Camera",[0,0]);
68
    _Camera.autoOrient = AutoOrientType.NO_AUTO_ORIENT;
69
    _Camera.property("position").setValue([15089.071289,-8979.953125,-13297.518555],);
70
    _Camera.property("orientation").setValue([-35.941983,-40.659187,-25.284997],);
71
    _Camera.property("zoom").setValue(2666.666667,);
72
 
73
 
74
 
75
  }else{alert ("Exit Import Blender animation data \nNo Comp name has been chosen","EXIT")};}
76
 
77
 
78
  app.beginUndoGroup("Import Blender animation data");
79
  compFromBlender();
80
  app.endUndoGroup();



Можно в блендере фигачить энтити как в хамере.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 18-10-2021 в 15:35:

Цитата:
FiEctro писал:
Ну вот чтобы как у Психопата единый атлас получился.

Ну есть стандартные функции набивания атласов.
Цитата:
ncuxonaT писал:
Но в чем проблема уместить все полигоны в одну страницу?

Размер страницы ограничен. А слишком большие текстуры тормозят рендеринг, особенно на старом железе. Никто не юзает 16384х16384, к примеру. Да и потом страницы крайне желательно делать одного размера все.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 18-10-2021 в 16:22:

FiEctro glTF еще есть, надо будет его посмотреть, блендер умеет экспортить вместе с лампочками.

Цитата:
Дядя Миша писал:
А слишком большие текстуры тормозят рендеринг, особенно на старом железе. Никто не юзает 16384х16384, к примеру.

Почему большие текстуры должны тормозить рендеринг? Это маленькие тормозят, их же переключать надо.
Никто не юзает, потому что одна лайтмапа 16384х16384 в ргб весит почти гигабайт. Как и 256 страниц 1024х1024.


Отправлено FiEctro 18-10-2021 в 16:28:

Цитата:
ncuxonaT писал:
glTF


Посмотрел, вот что внутри:
C++ Source Code:
glTF§ьJSON{"asset":{"generator":"Khronos glTF Blender I/O v1.6.8","version":"2.0"},"scene":0,"scenes":[{"name":"Scene","nodes":[0,1,2,3,4]}],"nodes":[{"mesh":0,"name":"Plane","scale":[-3.8557262420654297,-3.8557262420654297,-3.8557262420654297]},{"name":"Point","translation":[0,1.7496615648269653,0]},{"name":"Spot","rotation":[-0.2968061566352844,-0.11136425286531448,-0.06152741238474846,0.9464240670204163],"translation":[-1.9545600414276123,2.7911407947540283,4.377078533172607]},{"name":"Area","rotation":[0.4950069189071655,0.18573090434074402,0.10261409729719162,0.842581033706665],"scale":[17.32896614074707,17.328968048095703,17.32896614074707],"translation":[-1.5013221502304077,4.1263108253479,-0.22637444734573364]},{"name":"Sun","rotation":[0.6156013607978821,0.23097901046276093,0.1276131421327591,0.7425621747970581],"translation":[-2.085014581680298,3.355827808380127,3.9842636585235596]}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3}]}],"accessors":[{"bufferView":0,"componentType":5126,"count":4,"max":[1,0,1],"min":[-1,0,-1],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":6,"type":"SCALAR"}],"bufferViews":[{"buffer":0,"byteLength":48,"byteOffset":0},{"buffer":0,"byteLength":48,"byteOffset":48},{"buffer":0,"byteLength":32,"byteOffset":96},{"buffer":0,"byteLength":12,"byteOffset":128}],"buffers":[{"byteLength":140}]}   МBINАњА?А?А?АњАњА?АњА?АА?АА?АА?АА?А?А?А?


Настройки освещения он к сожалению не сохраняет. Лучше взять предыдущий плагин, и вытащить из него всё нужное (только походу он ещё конвертирует всё в пространство афтер эффектса). Более того можно через него и блендеровские лайтпробы пропарсить.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 18-10-2021 в 16:45:

FiEctro ты не поставил галку Include -> Data -> Punctual Lights


Отправлено Дядя Миша 18-10-2021 в 16:49:

Цитата:
ncuxonaT писал:
Почему большие текстуры должны тормозить рендеринг?

Потому что железо - разное.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 18-10-2021 в 17:08:

Цитата:
ncuxonaT писал:
FiEctro ты не поставил галку Include -> Data -> Punctual Lights


А ну да, спасибо. Действительно работает. Можно использовать, единственное он как то непонятно сохраняет ареалайты, если не ломает их вообще.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 20-10-2021 в 19:12:

Кстати такой вопрос, как в первой паранойе запекался спекуляр? Он как то из делюкс лайтмапы вычислялся, или как?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 21-10-2021 в 05:56:

Да

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 26-10-2021 в 10:04:

ncuxonaT
Твой компилятор возможно сейчас как то использовать для запекания лайтмап не прибегая к БСП? И планируется вообще такая возможность? Или ты его больше не поддерживается? Есть ли смысл на него расчитывать или юзать стандартные запекаторы из 3д пакетов? И будет ли возмжность запекать делюкс карты, сорсовские лайтмап и лайтпробы?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 26-10-2021 в 17:08:

FiEctro компилятор в процессе перепиливания на рейтресинг. Я не сделал поддержки глтф. Если будешь руками дописывать лайты в обж, могу сделать и выложить рабочую сборку. Делюксмапы да, сорсовские лайтмапы да, лайтпробы нет - как их задавать и хранить?


Отправлено Дядя Миша 26-10-2021 в 18:12:

Вы хоть скиньте пример этого glTF, помоему очередная выдумка на ровном месте. Нам нужно еще больше несовместимых форматов.

Добавлено 26-10-2021 в 21:12:

Да, я припоминаю, Психопат меня за него агитировал, типа такой хороший формат, такой удобный. Да ерунда полная по сути.
И в первую очередь - из-за попытки смешать в один формат скелетные мешы и сцены. Ну дураку же понятно, что это разные вещи. Зачем комбинаторный взрыв делать. Анимированный меш - это анимации. Анимации чаще всего не грузятся в VBO, на CPU процессятся кости. А бинарка подразумывает только GL-буфферы еще и с намертво вбитыми константами из gl.h
Не, ну я не знаю, ладно этот JSON ублюдский с лишним двоеточием, которое там абсолютно нахрен не нужно, но зачем GL-константы цифрами прописывать? Что за бред-то такой.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 26-10-2021 в 20:06:

Дядя Миша https://sketchfab.com/features/gltf
Я не агитировал, ты меня путаешь с кем-то. Но формат всё равно хороший.


Отправлено Дядя Миша 26-10-2021 в 21:43:

https://render.ru/ru/news/post/21372
А раньше-то не могли, очуметь можно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 27-10-2021 в 01:31:

https://github.khronos.org/glTF-Sample-Viewer-Release/

Добавлено 27-10-2021 в 04:31:

Кстати там у модели TransmissionTest на среднем желтом шаре хорошо видно, что для мутного стекла используются мипы, которые дополнительно не блюрили.


Отправлено Дядя Миша 27-10-2021 в 06:45:

Удалось сфоткать достаточно редкое явление. Эти столбики стоят на крыше, ночью шёл дождь их смыла водакругом лужы. А тень от столбика падает точно на лужу. И появляется та же самая мерзкая окантовка, как и при классическом делюкс-маппинге, но уже IRL.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 27-10-2021 в 08:36:

Цитата:
ncuxonaT писал:
лайтпробы нет - как их задавать и хранить?


Просто меш куба и писать цвет в вертексколор. Определять их соответственно по пустой вертексколор группе.

https://cdn.discordapp.com/attachments/898227737842573353/899241924240756736/2021-10-17_13.25.38.png

Цитата:
ncuxonaT писал:
FiEctro компилятор в процессе перепиливания на рейтресинг. Я не сделал поддержки глтф. Если будешь руками дописывать лайты в обж, могу сделать и выложить рабочую сборку. Делюксмапы да, сорсовские лайтмапы да, лайтпробы нет - как их задавать и хранить?


Я не против записаться в бетатестеры, т.к. мне твой запекатор приглянулся скоростью работы и куда меньшим уровнем шума чем тот же блендер. Ты в дискорде как подписан?

Цитата:
Дядя Миша писал:
Да, я припоминаю, Психопат меня за него агитировал, типа такой хороший формат, такой удобный. Да ерунда полная по сути.
И в первую очередь - из-за попытки смешать в один формат скелетные мешы и сцены. Ну дураку же понятно, что это разные вещи. Зачем комбинаторный взрыв делать. Анимированный меш - это анимации. Анимации чаще всего не грузятся в VBO, на CPU процессятся кости. А бинарка подразумывает только GL-буфферы еще и с намертво вбитыми константами из gl.h
Не, ну я не знаю, ладно этот JSON ублюдский с лишним двоеточием, которое там абсолютно нахрен не нужно, но зачем GL-константы цифрами прописывать? Что за бред-то такой.


Стандарт индустрии, тут особо выбирать не приходится, можешь ещё обмазаться .fbx и .blend форматами. Анимации там только как следствие. Вообще нужен формат способный запоминать точечные объекты и их параметры. Классический обж этого не может если я не ошибаюсь.

Цитата:
Дядя Миша писал:
Удалось сфоткать достаточно редкое явление. Эти столбики стоят на крыше, ночью шёл дождь их смыла водакругом лужы. А тень от столбика падает точно на лужу. И появляется та же самая мерзкая окантовка, как и при классическом делюкс-маппинге, но уже IRL.

А почему эта окантовка в полностью затененной части крыши куда не попадает солнце? Видимо просто дождик косой был, и так уже совпало с направлением теней.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 27-10-2021 в 09:21:

Рассеяный свет попадает в любом случае

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 27-10-2021 в 10:16:

Цитата:
Дядя Миша писал:
Рассеяный свет попадает в любом случае


Т.е. справа на крыше в том числе куда и падает солнце, уже отраженного света нет? Там нет никаких разводов. И это вообще не разводы, а просто переход от мокрого к сухому.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 27-10-2021 в 11:04:

Это одна сплошная лужа, там никаких переходов.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 27-10-2021 в 13:26:

Цитата:
FiEctro писал:
Просто меш куба и писать цвет в вертексколор. Определять их соответственно по пустой вертексколор группе.

В обж не поддерживается вертексколор. Да и кубы ты хочешь руками расставлять?
Цитата:
FiEctro писал:
Ты в дискорде как подписан?

Так же как и тут.
Дядя Миша
Видно же, что за столбами сухо, потому что они собой дождь закрывали. Как и дом, от которого тень справа внизу падает.


Отправлено Дядя Миша 27-10-2021 в 14:42:

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

Не знаю как у вас, а у нас дождь сверху идёт, а не сбоку.
Хотя да, выглядит оно именно так, что это не тень, а сухое место. Но это ложное впечатление. Там везде вода, на которую легла тень.

Добавлено 27-10-2021 в 17:42:

И вообще подобные рассуждения "дождь собою закрывали" можно допустить лишь в том случае, что направление дождя каким-то удивительным образом совпало с направлением солнца в момент съемки.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 27-10-2021 в 15:18:

Цитата:
ncuxonaT писал:
В обж не поддерживается вертексколор. Да и кубы ты хочешь руками расставлять?


Ужас. Так зачем вообще этот обж использовать если он ничего не поддерживает? Кубы можно и руками, хотя думаю алгоритм там не сложный, лайтпробы уплотняются там где переходы и перепады в освещении наиболее явны, и наоборот плотность уменьшается где освещение более менее равномерно.

Цитата:
Дядя Миша писал:
Не знаю как у вас, а у нас дождь сверху идёт, а не сбоку.


Капли ветром сносит.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 27-10-2021 в 16:58:

Цитата:
FiEctro писал:
Так зачем вообще этот обж использовать если он ничего не поддерживает?

Затем, что он простой как три копейки. Вертексколор всегда можно в текстуру запечь.
Цитата:
FiEctro писал:
лайтпробы уплотняются там где переходы и перепады в освещении наиболее явны, и наоборот плотность уменьшается где освещение более менее равномерно.

Чтобы знать, где переходы и перепады, а где равномерно, надо сначала свет посчитать, а у нас лайтпроб нет.


Отправлено FiEctro 27-10-2021 в 17:14:

Цитата:
ncuxonaT писал:
Затем, что он простой как три копейки. Вертексколор всегда можно в текстуру запечь.

Чтобы знать, где переходы и перепады, а где равномерно, надо сначала свет посчитать, а у нас лайтпроб нет.


Так расстановку лайтпроб при просчете прямого света ещё можно сделать. Прямой свет быстро считается. Ну или просто сохранить всё к кэш, а потом по нему пробегаться. Я особо в этом не шарю, но все данные как бы тут есть.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 28-10-2021 в 06:05:

Кстати насчет шумности и скорости работы цайклеза в блендере для запекания лайтмап. Вчера попробовали блендер рендер из 2.79, тут тебе и никакого шума, и скорость запекания почти мгновенная, единственный минус - не поддерживает ноды.

Я конечно не фанат конспирологии, но похоже запланированное устаревание и на софт распространяется когда выпиливают хорошо работающие фичи, и ставят вместо него недопиленное но зато распиаренное недорешение. Я вот про Иви, неужели им так трудно было для него запилить запекание? Ладно, буду дальше тестить, пока Психопат не пришлёт свой компилятор.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 28-10-2021 в 07:02:

Цитата:
FiEctro писал:
и скорость запекания почти мгновенная

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

Или проверяй на спонзе всегда, чтобы была точка отсчёта.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 28-10-2021 в 09:28:

Цитата:
Дядя Миша писал:
Ну ты хотя бы указывай, для какой сцены скорость мгновенная.
А то с твоих слов получается, что для любой.

Или проверяй на спонзе всегда, чтобы была точка отсчёта.


Я говорю в сравнении. Сцена та чту давал Психопат. А спонза для этого не очень годится, там далеко не все элементы годятся для запекания лайтмапы. Размер атласа 1024x1024. Мгновенно это примерно меньше секунды. Я таймер не ставил, да и пока особых тестов не проводил. Ещё во многом предстоит разобраться, тогда и можно будет делать сравнения.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 28-10-2021 в 09:51:

Цитата:
FiEctro писал:
Сцена та чту давал Психопат

Эмм, вот эти две комнатки? А что там запекать?

Цитата:
FiEctro писал:
А спонза для этого не очень годится, там далеко не все элементы годятся для запекания лайтмапы

Почему-то в NT, я прекрасно запёк всю геометрию на спонзе в лайтмапу.
Да, там кое-где вертексное было бы лучше, но это реально.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 28-10-2021 в 09:53:

Цитата:
Дядя Миша писал:
Почему-то в NT, я прекрасно запёк всю геометрию на спонзе в лайтмапу.
Да, там кое-где вертексное было бы лучше, но это реально.


Наверное потому что это воссозданая с нуля копия заточенная специально для БСП, а не оригинальная модель?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 28-10-2021 в 13:44:

FiEctro покажи, что блендер рендер запек. В нем вроде вообще не было индиректа.
Я забыл тебе диффуз скинуть.


Отправлено FiEctro 28-10-2021 в 15:04:

Цитата:
ncuxonaT писал:
FiEctro покажи, что блендер рендер запек. В нем вроде вообще не было индиректа.
Я забыл тебе диффуз скинуть.


Спасибо. Там в World есть галочка Indirect.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 28-10-2021 в 15:11:

Цитата:
FiEctro писал:
Наверное потому что это воссозданая с нуля копия заточенная специально для БСП, а не оригинальная модель?

Да я могу и оригинальный obj запечь. Правда его придётся обвернуть в скайбокс или что-то вроде этого.

Так что у вас эти две комнатки в блендере 15 минут запекаются, я правильно понял?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 28-10-2021 в 15:46:

Дядя Миша
Можно и быстрее но шумит. Так что да, как идеально настроить под это дело цайклес пока под вопросом. Я пока не до конца разобрался с блендер рендером, возможно с цветным GI и более мягкими тенями оно будет запекать медленнее. Посмотрим, я пока не нашел где включать цвет для GI.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 28-10-2021 в 16:00:

Цитата:
FiEctro писал:
Там в World есть галочка Indirect.

Оно очень, очень убогое.
Цитата:
Дядя Миша писал:
Так что у вас эти две комнатки в блендере 15 минут запекаются, я правильно понял?

Запеки не за 15 минут, покажи класс.


Отправлено FiEctro 28-10-2021 в 16:35:

Цитата:
ncuxonaT писал:
Оно очень, очень убогое.


Хм, ну вроде так норм, если без цвета, а вот с цветом как то калечно выглядит, GI какой то эффект спекуляра даёт, хотя я везде спекуляр вырубил. Жалко конечно, а ведь прямой свет довольно годно запекает.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 28-10-2021 в 17:32:

FiEctro не, это полная хрень. Освещение зависит от плотности сетки. Если сцену тесселировать, освещение меняется, и время рендера растет. На последнем скрине сабдив х4, рендерилось 1м15с.
x0https://i.imgur.com/r8i2vgS.jpg x1https://i.imgur.com/Stoifd8.jpg x2https://i.imgur.com/YR8tlgr.jpg
x3https://i.imgur.com/TdhQYrV.jpg x4https://i.imgur.com/vBXx4gf.jpg сусликhttps://i.imgur.com/SB4ToKU.jpg


Отправлено Дядя Миша 28-10-2021 в 18:20:

Ой какие семпотичные кружочки на полу, у меня такие тожы были

Добавлено 28-10-2021 в 21:20:

Но по моему мнению рейтрейсинг для индиректа это самое дурное дело.
Да, на математически это наиболее честная формула, но 99% времени, она нагревает окружающую среду.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 11:06:

Надо ещё СусликХ проверить, может там хоть чуть лучше ситуация будет.
Так же попробовал вирей, шумит не так сильно как суслик и запекает быстрее, но не так быстро как блендер рендер.

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

Добавлено 29-10-2021 в 14:06:

Так же заметил что почти все запекаторы обсираются с этой стенкой. Почему протекает GI?
https://a.radikal.ru/a34/2110/04/41dffbae61ab.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 12:35:

А откуда вы на этой сцене берёте свет? Это же простая obj-модель.

Добавлено 29-10-2021 в 14:59:

Решил интереса ради скомпилить вашу карту под ксашем и обнаружил что там фейсы необязательно треугольники, могут быть и квады. А мой загрузчик рассчитан именно на треугольники. Сколько же вообще точек может быть у сурфейса в obj?

Добавлено 29-10-2021 в 15:19:

Ладно, конвертнул в smd при помощи Noesis. Поправде говоря впервые встречаю obj с произвольным кол-вом вершин на сурфейсе.
Какой в этом смысл вообще.

Добавлено 29-10-2021 в 15:35:

Итак, вот мои результаты. На халфовском разрешении на этой сцене просто какие-то пятна, а не освещение. Поэтому я поставил разрешение лайтмапы 4 люкселя на один мировой юнит Т.е. масштаб лайтмапы меньше еденицы, когда на тексель точно приходится люксель.

Время рассчёта этой лайтмапы - 1.07 минуты Процессор CoreQuad 2.4 Ghz



Главная проблема, как вы видите - это те самые семпотичные кружочки, о которых я уже упоминал. Это результат интерполяции упрощённой геометрии, которая используется для рассчёта радиосити с реальной геометрией сцены. В сущности особой проблемы они не представляют, поскольку:
1. их не видно на реальных сценах с диффузной текстурой
2. здесь стоит чудовищное разрешение лайтмапы, при нормальном разрешении их тоже не видно. Это просто фаза сбора индиректа по радиусу.
3. chop size по умолчанию равен 128 юнитов, т.е. индирект оч. размытый.
Лайтмапы в аттаче тоже прилагаю.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 12:47:

Дядя Миша
Спасибо за тест, похоже ксашевский компилятор работает на похожем принципе что и блендер рендеровский индирект? Как эта технология зовется?

Цитата:
Дядя Миша писал:
1. их не видно на реальных сценах с диффузной текстурой


Если дифузка не равномерная, и не белого или серого цвета.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 12:57:

Альтернативный вариант. Соотношение люксель к текселю 1 : 1, тесселяция геометрии для индиректа 24 юнита. Время работы компилятора 10 секунд.



Чайник снизу чёрный вот поэтому

Цитата:
312 samples failed to gather indirect light

Впрочем довольно глупо применять к чайнику и стенам одни и те же настройки, в реальной сцене это будут разные объекты с разными материалами.

Добавлено 29-10-2021 в 15:54:

Цитата:
FiEctro писал:
Как эта технология зовется?

Да обычный Instant Radiosity из Half-Life\HL2\Quake 2.

Добавлено 29-10-2021 в 15:56:

Цитата:
FiEctro писал:
Если дифузка не равномерная, и не белого или серого цвета.

ну вот я поэтому и привёл пример альтернативного запечения без кружочков. Всё зависит от разрешения директа\индиректа, артист может это гибко регулировать для каждого материала.

Добавлено 29-10-2021 в 15:57:

ЗЫ. лайтликов как видите нет. В своё время я уделил этому внимание.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 13:14:

Выглядит неплохо. Но тоже вижу яркость на поверхностях шумит.


Цитата:
Дядя Миша писал:
ЗЫ. лайтликов как видите нет. В своё время я уделил этому внимание.


А если не секрет, откуда они берутся и как с ними бороться?

СусликХ из 3.0а намного лучше деноизит, чем предыдущие версии. В целом не вирей конечно, но хотя бы GI не протекает, по крайней мере в этой сцене.
https://b.radikal.ru/b37/2110/89/a26ad0bf831a.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 13:41:

Цитата:
FiEctro писал:
Но тоже вижу яркость на поверхностях шумит.

Если директ и индирект считаются в разном разрешении шума не избежать в любом случае, но его характер будет зависеть от формулы используемой для вычисления средневзвешенного коэфициента непрямого освещения.
Альтернатива - рейтрейсинг с вашим любимым шумом. И еще неизвестно что хуже. Но рейтрейс в десятки раз медленее.

Цитата:
FiEctro писал:
А если не секрет, откуда они берутся и как с ними бороться?

Луч трассы проскакивает в щель между полигонами. Бороться известно как - сделать нормальную трассу.

Цитата:
FiEctro писал:
СусликХ из 3.0а намного лучше деноизит, чем предыдущие версии

Сколько считалось? У тебя небось еще и комп 16 ядерный.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 13:47:

Цитата:
Дядя Миша писал:
Сколько считалось? У тебя небось еще и комп 16 ядерный.


Примерно минут 5 на ноуте.
Проц Intel Core i5-5257U. Но вроде есть поддержка GPU, потом протестирую и скажу насколько быстрее будет.

Цитата:
Дядя Миша писал:
Луч трассы проскакивает в щель между полигонами.


А если полигоны стыковать не ребром к ребру, а немного глубже чтобы они в месте соединения образовывали что то вроде крестовины, это поможет? Я про те рендеры, где трассу уже не допилить. Просто интересно.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 14:17:

Цитата:
FiEctro писал:
а немного глубже чтобы они в месте соединения образовывали что то вроде крестовины, это поможет?

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

Ну попробуй, расскажешь как оно.

Добавлено 29-10-2021 в 16:54:

ЗЫ. Это в твоём нелюбимом BSP хорошо было. Луч застревал внутри браша и никаких лайтликов.

Добавлено 29-10-2021 в 17:10:

Ну вот предельное разрешение для индиректа - один люксель на 8х8 юнитов. 17 минут считалось.



С чайником ужас конечно, но то мелочи.

Добавлено 29-10-2021 в 17:12:

ЗЫ. лёгкие бензиновые разводы - артефакты джипега, если что.

Добавлено 29-10-2021 в 17:14:

Кстати. Я тут смотрю на сцену и понимаю, что рефлективности по сути и нет.
Я же использовал классический способ из халфы, когда рефлективность вычислялась заранее для целой текстуры. А тут развертка и естественно такой подход не годится. Надо сэмплить из реального текселя, ну тоже мелочи, главное не забыть.

Добавлено 29-10-2021 в 17:17:

А, да. Солнцу я поставил цвет 255 128 128

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 29-10-2021 в 14:29:

Дядя Миша то есть приемлемое освещение запеклось у тебя за 17 минут, но даже так чайник запекся криво? И запекать в оригинальную развертку с заданным разрешением нельзя?


Отправлено Дядя Миша 29-10-2021 в 14:47:

Цитата:
ncuxonaT писал:
то есть приемлемое освещение запеклось у тебя за 17 минут

Это смотря что считать "приемлемым освещением". Оно варьируется от 8 секунд до 17 минут. 17 минут - это я вообще всё выкрутил на максимум, из интереса.
То что в аттаче, к примеру пеклось 34 секунды.

Цитата:
ncuxonaT писал:
И запекать в оригинальную развертку с заданным разрешением нельзя?


Так в OBJ нет второго канала для лайтмапы
Алоритм там следующий - процессор мешей по возможности пытается использовать оригинальную текстуру развертку для лайтмапы. Следит за само-пересечениями и прочими вещами. Иногда он решает добавить что-то от себя по определённым соображениям. Или переключиться в режим проекционной развертки. Я могу конечно ввести флаг, который явным образом заставит использовать развертку пользователя, но учитывая, что широкораспространённых форматов с несколькими каналами UV мне не попадалось, считаю это преждевременным. Вполне вероятно что такая опция есть у COLLADA, FBX, BLEND но я не хочу с ними связываться.

А разрешение можно задать какое угодно. Раздельно для прямого и непрямого освещения. Собственно, меняя это разрешение я и варьировал время работы от 10 секунд до 17 минут.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 14:51:

Чтож на ГПУ (GF3080), ситуация куда более приятная при тех же временных затратах (5 минут). Семплов можно поставить много (я использую 8к семплов), и шум уже не так бросается в глаза, даже я бы сказал приближается в виреевскому результату без утечек. Но да, нужна мощная ГПУ, на процессорах даже топовых такое считать задолбаешься. Имеет ли оно какой смысл, решать вам.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 14:52:

Цитата:
FiEctro писал:
и шум уже не так бросается в глаза

Ну так показал бы нам.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 15:04:

Без деноиза:
https://cdn.discordapp.com/attachments/583334811477999653/903660355237060698/unknown.png

С деноизом:
https://cdn.discordapp.com/attachments/583334811477999653/903658667730141224/unknown.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 29-10-2021 в 15:10:

Цитата:
Дядя Миша писал:
Так в OBJ нет второго канала для лайтмапы

Так пеки в первый. Ты можешь задать разрешение и получить на выходе такую текстуру?
https://i.imgur.com/PyngPzi.jpg


Отправлено FiEctro 29-10-2021 в 15:40:

Так оно выглядит с текстурами, в целом пока устраивает, по крайней мере пока не пощупаю компилятор Психопата.
https://cdn.discordapp.com/attachments/583334811477999653/903668797246951504/unknown.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 15:51:

Цитата:
ncuxonaT писал:
Так пеки в первый

Компилятор исходит из простого факта что UV напрямую нельзя использовать в качестве развертки для лайтмапы и в большинстве случаев так оно и есть.
Цитата:
ncuxonaT писал:
и получить на выходе такую текстуру?

Я не могу получить на выходе такую текстуру, потому что компилятор генерирует страницы лайтмап сквозью геометрию, наполняющую уровень, независимо от кол-ва моделей. Я не использую подход "одна модель = одна лайтмапа", уже просто потому что во первых движок грузит лайтмапы секвентально и может совершать над ними групповые операции, во вторых эти лайтмапы бы все были разного размера и лежали непонятно где.
Если я чайник поставлю на разные уровни, куда мне класть лайтмапу запечённую для одного и того же чайника, но в разных условиях? Какое ей давать имя? Что будет, если я переименую чайник, а его лайтмапу - нет?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 16:13:

Цитата:
Дядя Миша писал:
Компилятор исходит из простого факта что UV напрямую нельзя использовать в качестве развертки для лайтмапы и в большинстве случаев так оно и есть.


С чем это связано?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 16:18:

Странный вопрос. Текстура может быть наложена как угодно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 16:38:

Цитата:
Дядя Миша писал:
Странный вопрос. Текстура может быть наложена как угодно.


Ну вот что я и говорил, что там месиво полигонное, но в целом использование 2х разверток в этом случае звучит куда логично. А ты говорил что я БСП нелюблю, я его люблю, просто работать с ним неудобно. Вот допустим ты яркость лайтмапы захочешь в фотошопе подкрутить, тебе что отдельно все эти кусочки пересохранять?

Ещё не много скриншотов с "боевых" локаций. Размер атласа 256х256, развертка SmartUV Project.

https://cdn.discordapp.com/attachments/583334811477999653/903680525263319090/unknown.png
https://cdn.discordapp.com/attachments/583334811477999653/903680640682184764/unknown.png
https://cdn.discordapp.com/attachments/583334811477999653/903680311076999238/unknown.png
https://cdn.discordapp.com/attachments/583334811477999653/903680200850694154/unknown.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 29-10-2021 в 16:41:

Я не понимаю, почему расчет освещения не отделим от развертки. Почему нельзя отключить блок, который генерирует страницы лайтмап, и оставить включенным тот блок, который считает освещение? Оставив развертку, которая есть на входе.

Добавлено 29-10-2021 в 19:41:

FiEctro как ты запеченную лайтмапу применяешь к материалу с нормалмапой в блендере?


Отправлено FiEctro 29-10-2021 в 16:44:

Цитата:
ncuxonaT писал:
FiEctro как ты запеченную лайтмапу применяешь к материалу с нормалмапой в блендере?


Да никак © ДМ
Не обращай внимания, это просто тестовый материал, наложил посмотреть как оно будет смотреться с лайтмапами, в режиме вьюпорт шейдинг. Я так понимаю там все направления от балды.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 18:06:

Цитата:
FiEctro писал:
но в целом использование 2х разверток в этом случае звучит куда логично

Это общепринятая практика. В UE4 промежуточный формат меша позволяет сохранять 8 разверток, но я подозреваю, этот формат тянется с дошейдерных времён, сейчас такое просто не нужно.

Цитата:
FiEctro писал:
Вот допустим ты яркость лайтмапы захочешь в фотошопе подкрутить, тебе что отдельно все эти кусочки пересохранять?

Странный какой. Простые операции логичнее делать прямо в шейдере, а не в котошопе. Да и вообще я скпетически отношусь к редактированию лайтмапы в графическом редакторе. Размоешь её там своими фильтрами и лайтлики полезут. Рази что слово матерное написать на лужайке.
Цитата:
FiEctro писал:
я БСП нелюблю, я его люблю, просто работать с ним неудобно

Опять BSP приплёл.

Цитата:
ncuxonaT писал:
Я не понимаю, почему расчет освещения не отделим от развертки

Ты про NT? Эти вещи никак не связаны на самом деле.
Там есть меш-процессор, который грузит мешы из популярных текстовых форматов и генерирует им нужную развертку, сохраняя в нативный формат XashNT с расширением .csm Формат этот удобен тем, что может модифицироваться на лету как компиляторами, так и редактором. Т.е. можно запечь в него любую развертку, сгенеренную где угодно. И компилятор будет использовать именно её. Естественно я предусмотрел такой вариант. Но! Поскольку редактора пока еще нет, используется автоматический вариант. Впрочем у Немякса есть плагин для блендера, позволяющий сохранять в csm. И вот с его помощью можно сохранить исходную развертку в оба канала, таким образом заставив движок её использовать. Когда будет редактор, я естественно при импорте меша выведу диалог как поступить с разверткой, возможно там будет несколько плагинов для её генерации. Ну а пока - вот так.

Добавлено 29-10-2021 в 21:06:

Цитата:
FiEctro писал:
Размер атласа 256х256

Кстати. При разработке движка я больше всего был шокирован тем фактом, что размер страницы надо задавать вручную. Ректангл-пакерами весь гитхаб завален, а адаптивных вычислителей размера страницы нет вообще.
Не сказать, чтобы это была особенно сложная задача, но здесь проблема в другом. Мы контролируем не разрешение лайтмапы по-сурфейсно, мы контролируем за каким-то чёртом размер итоговой страницы. Да на кой мне его знать вообще?
Я просто хочу чтобы на один тексель пришёлся один люксель и мне плевать какого разрешения получится страница (ну с точки зрения пользователя).
Или я хочу чтобы на 8х8 текселей пришёлся один люксель. Ну или заменим тексели на юниты, чтобы отвязаться от масштаба текстуры (по умолчанию тексель равен юниту с идентичным скейлом, если кто вдруг не знал).

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено nemyax 29-10-2021 в 19:34:

Цитата:
Дядя Миша писал:
с его помощью можно сохранить исходную развертку в оба канала

Можно обе развёртки сделать независимо и каждую записать на своё место.


Отправлено ncuxonaT 29-10-2021 в 20:12:

Ну так можно оставить для этого обж оригинальную развертку и посчитать освещение для неё?


Отправлено Дядя Миша 29-10-2021 в 20:36:

Решил вопрос с разверткой для чайника. Собственно, я поначалу тоже несколько удивился. Дело в том, что генератор развертки - умный.
Он по умолчанию пытается использовать именно текстурную развертку в качестве лайтмапной, попутно флипая зеркальные группы и проверяя развертку на тайлинг и самопересечение. Т.е. специально подготовленную развертку от Психопата он должен был пропустить в неизменном виде по результатам анализа этой развертки. Однако ему что-то не понравилось.
Всё дело оказалось в очень маленьких полигонах чайника. Есть там такие супермелкие полигоны, на которых, соответственно и площадь развертки мелкая. И вот эти полики генератор развертки посчитал инвалидными и выкинул их из группы, предоставив в дальнейшем компилятору самому решать что с ними делать. Я эту проверку просто убрал, по логике вещей процессор мешей не должен этим заниматься. Вот если там NAN дело другое.

Добавлено 29-10-2021 в 23:29:

Хы. Для чайника даже автолоды построились


Добавлено 29-10-2021 в 23:36:

Кстати. Лайтмаппер умеет делать одну важную вещь. Для заврапленных развёрток он умеет определять их шов, ну пока не на 100%, но обычно находит. Я исходил из того, что это единственный кейс, который не может быть решён через обычные бесшовные лайтмапы и соответственно нуждается в замазке.
Визуализация найденного шва

Замазка

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 22:41:

Вот спонза. К сожалению у оригинальной спонзы очень плохая UVха, пришлось генерировать собственную, и сгенерила она её откровенно так себе, те лайтлики что можно наблюдать слева как раз следствие этого. Ну и плюс от хреновой сетки как раз где пол заходит за стенку. В общем всё это можно пофиксить, но мне не хочется с этой спонзой долго возиться, может когда нибудь в будущем портирую свою спонзу. А пока держите оригинал:

https://cdn.discordapp.com/attachments/509791576768249888/903773731887910912/unknown.png
https://cdn.discordapp.com/attachments/509791576768249888/903774881886404618/unknown.png

Время запекания 15 минут, разрешение атласа 2048, количество сэмплов 8к + деноизер.
Если у кого то есть модель с исправленной UV, скиньте сюда. Попробую запечь на ней.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 23:05:

А где львы и занавески?
Это неполная спонза. Ты крайтековскую возьми.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 23:08:

Цитата:
Дядя Миша писал:
А где львы и занавески?
Это неполная спонза. Ты крайтековскую возьми.


Это оригинальная спонза.
Найди мне версию с нормальными UV и без всратых треугольников. Я пробовал крайтековскую но там островки друг друга во многих местах перекрывают.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 23:15:

Вот такая у меня есть. Уж не знаю насчёт нормальности, но я на ней LPV испытывал и лайтликов вроде бы не было.

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Добавлено 30-10-2021 в 02:15:

Цитата:
FiEctro писал:
но там островки друг друга во многих местах перекрывают.

Бред какой-то. Ну перекрывают и что? Главное чтобы островок не загибался сам на себя.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 29-10-2021 в 23:20:

Дядя Миша
Это тоже что и я ковырял. Не, такое увы не годится. Если только каждому материалу свою лайтмапу запекать, как это делает халфовский компилятор. Что будет плодить лишние проходы. К тому же там есть примитивы у которых UV карта перекрывает сама себя, что будет приводить к артефактам на лайтмапе.

https://a.radikal.ru/a26/2110/f2/c70412f3f03b.png

У меня же лайтмапа пакуется в единый атлас.

Цитата:
Дядя Миша писал:
Бред какой-то. Ну перекрывают и что? Главное чтобы островок не загибался сам на себя.


Сам подумай, пиксель текстуры в этом месте один, а полигонов лежит на нём 2-10, и все из разных мест. Да и загибаются на тех же столбах и занавесках.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 29-10-2021 в 23:29:

Ладно, завтра сам запеку. Спонза как Спонза.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 29-10-2021 в 23:49:

Дядя Миша запеки чайник в оригинальной развертке в 1024х1024.

FiEctro есть спонза, в 3дмаксе развернутая. В 2к запекалась с плюс-минус такими же ликами.
https://disk.yandex.ru/d/BitH8fl0oGv6xA


Отправлено Дядя Миша 30-10-2021 в 13:29:

Собрал Спонзу. Хотел еще утром собрать, но сначала решил сжать текстуры в DXT и с удивлением заметил, что нормалмапы с кучей артефактов. Начал разбираться и выяснилось, что на некоторых спонзовских нормалках normal.z бывает менее нуля. Пришлось написать анализатор компрессии параболической проекции, для каждого текселя, чтобы решить, можно жать эту текстуру в ATI2N или оставить в DXT1c. Спонза вообще не особенно аккуратно сделана, там есть 80 полигонов с инвалидной площадью наложения текстуры и один дегенерат.
В остальном прошло гладко, правда я для теста пока оставил дефолтное разрешение люкселей - 16. Разумеется никаких лайтликов нет.
Вот только эти простыни свисающие бесят, они из четырёх кусков сделаны, мои тулзы не могут для них сконструировать нормальную развертку.



Время запекания - 6 минут. Увеличу разрешение лайтмапы, выложу еще скриншотов.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 30-10-2021 в 14:08:

Цитата:
Дядя Миша писал:
Лайтмаппер умеет делать одну важную вещь. Для заврапленных развёрток он умеет определять их шов, ну пока не на 100%, но обычно находит. Я исходил из того, что это единственный кейс, который не может быть решён через обычные бесшовные лайтмапы и соответственно нуждается в замазке.

А если заюзать переполнение буфера (255+1=0) для того чтобы получилось зацикленное численное просранство и развертка оборачивалась вокруг колонны без начала и конца?


Отправлено Дядя Миша 30-10-2021 в 14:25:

Цитата:
Crystallize писал:
А если заюзать переполнение буфера (255+1=0) для того чтобы получилось зацикленное численное просранство

Долго думал?

Собстсвенно Спонза с разрешением 1 люксель на 4 текселя. В ксаш-моде я обычно её собирал с разрешением 1 люксель на 8 текселей. У меня получилось 8 страниц с разрешением 1024х1024. В принципе, потребление памяти пустяшное - мегабайт 80 всего, прямой свет считается полминуты, непрямой - 2 минуты, но всё портит фаза интерполяции\смешения прямого с непрямым светом. Когда-нибудь у меня руки дойдут и этот код я перепишу.
Вообщем полчаса времени это отняло.
Общий вид


Всё гладенько, никаких лайтликов


Развертку компилятор генерил. Грёбанные полотенца. Ну зачем, зачем их на четыре части порезали


Вид со стороны падающего солнца


Вид с противоположной стороны


Помните я говорил, что моя удалялка швов к сожалению не совсем идеально работает. Вот как раз такой случай: Видите "коцки"?

А вот как механизм задетектировал этот шов

Там где люксели не раскрасились, шов не нашёлся. Увы. От топологии зависит. Потом подумаю, что с этим сделать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 30-10-2021 в 14:34:

Цитата:
Дядя Миша писал:
Долго думал?

Год или около того.


Отправлено Дядя Миша 30-10-2021 в 14:39:

Развертку можешь самостоятельно в редакторе завернуть, только вместо лайтмапы там какая-то хрень завернётся вместе с ней.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 30-10-2021 в 16:35:

Дядя Миша индирект ужасный, всё в пятнах и кругах, детализация низкая. Можно настроить качество?

Цитата:
Дядя Миша писал:
Всё гладенько, никаких лайтликов


Лики сверху у арок.

Цитата:
Дядя Миша писал:
Вид с противоположной стороны


Лики под колоннами.

Цитата:
Дядя Миша писал:
Вид со стороны падающего солнца


Этот угол должен быть в тени, но светло как днём. Полотнища пропускают индирект?


Отправлено FiEctro 30-10-2021 в 17:43:

Цитата:
Дядя Миша писал:
что нормалмапы с кучей артефактов. Начал разбираться и выяснилось, что на некоторых спонзовских нормалках normal.z бывает менее нуля. Пришлось написать анализатор компрессии параболической проекции, для каждого текселя, чтобы решить, можно жать эту текстуру в ATI2N или оставить в DXT1c. Спонза вообще не особенно аккуратно сделана, там есть 80 полигонов с инвалидной площадью наложения текстуры и один дегенерат.
В остальном прошло гладко, правда я для теста пока оставил дефолтное разрешение люкселей - 16. Разумеется никаких лайтликов нет.
Вот только эти простыни свисающие бесят, они из четырёх кусков сделаны, мои тулзы не могут для них сконструировать нормальную развертку.



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

Когда нибудь может я её пофикшу и нормально разверну, но думаю наверное даже не в этом году.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-10-2021 в 19:01:

Цитата:
ncuxonaT писал:
индирект ужасный, всё в пятнах и кругах, детализация низкая. Можно настроить качество?

Хм. Это патчи по 128 юнитов, сверхбольшие. Возможно и на полотенцах пятна из-за этого. Кстати говоря, круги - это не следствие алгоритма.
Это результат работы гауссблура. Заменил на бокс-фильтр, круги практчески исчезли даже на таком разрешении.

Цитата:
ncuxonaT писал:
Лики сверху у арок.

Цитата:
ncuxonaT писал:
Лики под колоннами.

Глупости. Это лики интерполяции билинейки, такое не лечится. Разрешение поменять, разве что.

Цитата:
ncuxonaT писал:
Этот угол должен быть в тени, но светло как днём

Над полотнищами достаточно пространства чтобы туда прошёл свет напрямую. Он и проходит.

Добавлено 30-10-2021 в 22:01:

Цитата:
FiEctro писал:
в развертке вообще конь не валялся

Развёртка к слову наиболее благоприятна сделана в некоторых местах.
например стены этажа - это один сплошной кусок развертки, заврапленный внутрь. Я сперва очень удивился, когда увидил задетектированный шов на одной из стен. А потом понял.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 30-10-2021 в 19:03:

Вот запек спонзу что скинул Психопат. Развертка там ещё хуже чем у меня была. Соответственно и лайтликов и прочих артефактов больше на порядок, но всеравно выглядит уже неплохо.
https://cdn.discordapp.com/attachments/619906601759014952/904078769701126194/unknown.pnghttps://cdn.discordapp.com/attachments/619906601759014952/904078874239971368/unknown.pnghttps://cdn.discordapp.com/attachments/619906601759014952/904079030213541938/unknown.png
https://cdn.discordapp.com/attachments/619906601759014952/904079131594084402/unknown.pnghttps://cdn.discordapp.com/attachments/619906601759014952/904079230894219284/unknown.pnghttps://cdn.discordapp.com/attachments/619906601759014952/904080476166311966/unknown.png
https://cdn.discordapp.com/attachments/619906601759014952/904080949355118653/unknown.pnghttps://cdn.discordapp.com/attachments/619906601759014952/904081078170570783/unknown.pnghttps://cdn.discordapp.com/attachments/619906601759014952/904081259293188096/unknown.png

Лайтмапа

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-10-2021 в 19:25:

Что ж, в тех бейкерах которые вы используете, разве нет опции удаления швов на врапленой развертке?
Вон на каждой колонне по шву.
И почему вазы с цветами чорные?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 30-10-2021 в 19:28:

Цитата:
Дядя Миша писал:
Глупости. Это лики интерполяции билинейки, такое не лечится.

Откуда там светлые пиксели взялись? Внутренняя часть геометрии арок не соединяется с наружной, чтобы оттуда просачивалось, не говоря уж про колонны.
Цитата:
Дядя Миша писал:
Над полотнищами достаточно пространства чтобы туда прошёл свет напрямую. Он и проходит.

Нет, недостаточно. С противоположной стороны не проходит же.
https://i.imgur.com/CcJKePv.jpg https://i.imgur.com/vmhwSXB.jpg https://i.imgur.com/DwOMg8C.jpg
На вазах нет развертки.


Отправлено Дядя Миша 30-10-2021 в 19:35:

Цитата:
ncuxonaT писал:
Откуда там светлые пиксели взялись?

Недостаточное разрешение лайтмапы.

Цитата:
ncuxonaT писал:
Нет, недостаточно. С противоположной стороны не проходит же.

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

Добавлено 30-10-2021 в 22:35:

У тебя у самого на первом скрине внизу на колонне что? лайтлик.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 30-10-2021 в 19:47:

Цитата:
Дядя Миша писал:
Что ж, в тех бейкерах которые вы используете, разве нет опции удаления швов на врапленой развертке?
Вон на каждой колонне по шву.


Так если моделер уже все развернул, этого не потребуется. Здесь нам пришлось сбросить развертку чтобы запечь лайтмапу в 1 атлас.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 30-10-2021 в 20:04:

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


Добавлено 30-10-2021 в 23:04:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 30-10-2021 в 21:30:

Цитата:
Дядя Миша писал:
У тебя у самого на первом скрине внизу на колонне что? лайтлик.

Это не лик, это говёная развертка с недостаточным паддингом, задевает кусок лайтмапы от другого фрагмента.


Отправлено Дядя Миша 30-10-2021 в 22:09:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 31-10-2021 в 03:25:

Прогнал лайтмапу замазывателем швов, от явных стыков он более-менее избавился.
https://i.imgur.com/eEvvQXW.jpg   https://i.imgur.com/It2eBaF.jpg


Отправлено Дядя Миша 31-10-2021 в 15:50:

Пересмотрел принципы генерации патчей для индиректа. Оригинальный алгоритм объединял только полигоны, у которых была общая плоскость.
Я рассудил, что не будет большой беды, если подкрутить толерантность, ну скажем градусов на 5-6. И сделал алгоритм двухпроходным. Сперва он ищет строгое соответствие (только треугольники с общей плоскостью, которые дадут конвексный примитив на выходе), затем с некоторой толерантностью объединяет примитивы с коллинеарными рёбрами (нормаль у них может несколько отличаться). Цель - уменьшить кол-ва патчей на высокополигональных объектах. Раньше я просто дропал патчи со слишком мелкой площадью, но это ненадёжно, потенциально появлялись чёрные пятна там, где я выкинул патч. Сейчас, когда их кол-во уменьшилось, можно поставить эпсилон площади патча порядка 0.01. Т.е. если алгоритм их даже и выбросит, ничего страшного. В конце рассчётов компилятор пишет, скольким сэмплам из лайтмапы не удалось получить индирект, и вот с новым алгоритмом у меня получилось 104 отброшенных сэмпла из 824 тысяч люкселей. Так же из-за отброшенных сэмплов мне приходилось ренормализовать яркость собранного света, деля реальную площадь на ту которую получили патчи, теперь это можно просто дропнуть.
Ну посмотрим, пока в процессе экспериментирования.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 31-10-2021 в 18:33:

Сделал, чтобы семплы считались не по центру текселя, а рандомно внутри него, с нормализацией. Ушли почти все темные полосы на стыках, и большинство тонких полигонов запеклось.
https://i.imgur.com/f2mUi4w.jpg


Отправлено Crystallize 31-10-2021 в 19:00:

ncuxonaT ты по сути наложил шум?


Отправлено ncuxonaT 31-10-2021 в 19:04:

Crystallize куда наложил?


Отправлено Crystallize 31-10-2021 в 19:21:

ну на лайтмапу


Отправлено ncuxonaT 31-10-2021 в 19:49:

Crystallize нет, не накладывал. Разводов что ли нет? Это потому что лайтмапа в 16 бит сохранена.


Отправлено Дядя Миша 31-10-2021 в 20:11:

Цитата:
ncuxonaT писал:
не по центру текселя, а рандомно внутри него, с нормализацией

О какой нормализации идёт речь? Но вообще, в лайтмаппере не должно быть никакого рандома.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 31-10-2021 в 20:35:

Цитата:
Дядя Миша писал:
О какой нормализации идёт речь?

О нормализации итогового цвета по покрытию пикселя полигоном.

Корочи, результат делится на (количество попавших семплов / общее количество семплов).


Отправлено Дядя Миша 31-10-2021 в 20:50:

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

Собрал я спонзу с новой индирект-сеткой. Получилось вот такое:







Пятна под объектами - результат размытия индиректа. Надо будет проверить еще одну вещь.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 31-10-2021 в 21:16:

Дядя Миша вставляй хттпс ссылки, обычные блокируются.


Отправлено Дядя Миша 31-10-2021 в 22:37:

https пакость похуже короновируса. Народ сам на него добровольно и с песней перешёл и так ничего и не понял.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2021 в 11:28:

Поскольку так никто и не смог внятно ответить что такое делюкс карта, пришлось всё гуглить и разбираться самому.
Оказалось что это простая тангенсная карта которую можно запекать в блендере из коробки. Но она как то ещё дополнительно запекает вектор направления освещения.

http://tenebrae.sourceforge.net/del...lux_mapping.htm

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 02-11-2021 в 12:26:

Делюкс-маппинг это терминология авторов Tenebrae. Они его придумали первые. Кажется еще в 2003-м году.
На самом деле то, что у них на картинке не совсем неверно. При помощи делюкса можно получать вполне сочный бамп, просто он не всегда корректный.

Добавлено 02-11-2021 в 15:26:

Цитата:
The delux maps store their vector in world space. The biggest "problem" when rendering them is converting the world space vector to tangent space (to dot it with the normal map). Normally we can convert to tangent space at the vertex level and then use a renormalization cube map or similar to renormalize them. With delux maps this has to be done using per pixel math. This makes it impossible to use on Geforce2 level hardware and makes it a 2 pass algorithm for Geforce4 level hardware. On modern hardware (Radeon9500+ and Geforce Fx) this can easily be done in one pass.
Once the delux map is converted into tangent space we render it very similar to ordinary bumpmaps.

Хе-хе.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2021 в 13:53:

Всё можно, но вы так и не ответили в каком виде там запекается освещение? По ссылке примерно понятно, но не очень понятно как это работает с РГБ освещением. Оно просто как чб картинку его пишет?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 02-11-2021 в 16:15:

Цитата:
FiEctro писал:
в каком виде там запекается освещение?

Там - это где? В сорсе?

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2021 в 16:22:

Цитата:
Дядя Миша писал:
Там - это где? В сорсе?

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


Да в кваке, но если бы ты делал там цветное освщение, то как бы оно запекалось?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 02-11-2021 в 17:30:

Ты меня запутал. Что ты хочешь узнать или понять.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2021 в 18:12:

Дядя Миша
Мне нужно запечь делюксмапу для юнити в блендере. Но прежде чем это сделать, мне нужно понять что оно туда вообще пишет и с каким базисом.

Добавлено 02-11-2021 в 21:12:

Выглядит она так в юнити:
https://cdn.discordapp.com/attachments/390627238493814808/905042354694672394/2021-10-30_20.34.38.png

При запекании тангента в блендере у меня выходит что то очень похожее:
https://cdn.discordapp.com/attachments/390627238493814808/905046900208717874/2021-11-02_13.52.49.png

Но оно не учитывает освещение.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 02-11-2021 в 19:44:

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

Добавлено 02-11-2021 в 22:44:

Цитата:
FiEctro писал:
что оно туда вообще пишет и с каким базисом.

Ну это же world-normal, базис идентичный.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2021 в 20:08:

Дядя Миша
Что то мутно как ты расписал, я мало что понял. Вот есть трасса от лампочки, что с ней происходит? Можешь более алгебраично это описать?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 02-11-2021 в 20:45:

Псевдокод:

C++ Source Code:
dist = length( light.pos - luxel.pos );
luxel.color = light.intensity * dist;
luxel.direct = -normalize( light.pos - luxel.pos ) * dist;


Так понятно?

Добавлено 02-11-2021 в 23:45:

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2021 в 20:53:

Дядя Миша
Да так лучше, спасибо.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 03-11-2021 в 11:16:

Чет фигня всеравно получается, если по интенсивности делать, то затененные места всегда черными будут. А делюксмапа не должна быть в этом месте черной, она должна задавать угол даже в темноте.
https://cdn.discordapp.com/attachments/414568114986942476/905194368904888370/554d.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 03-11-2021 в 11:21:

В абсолютной темноте вектор и должен быть 0 0 0, откуда же там взяться свету?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 03-11-2021 в 11:26:

Дядя Миша
Ну вот посмотри делюксы юнити, там и пикселя ни одного тёмного нет. Все делюксмапы сильно засвечены. Хотя надо провести пару тестов.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 03-11-2021 в 12:42:

Цитата:
FiEctro писал:
Ну вот посмотри делюксы юнити

Так чтож ты нам голову морочишь. Ну и делай как в Юнити.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 03-11-2021 в 12:47:

Дядя Миша
А как в юнити?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 03-11-2021 в 14:31:

Это тебе виднее, ты же его знаток.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 03-11-2021 в 14:41:

Цитата:
Дядя Миша писал:
ты же его знаток.


Далеко нет. Я в векторах ещё очень плохо шарю. В блендере (z) и в юнити (y) разная вертикальная ось, и я постоянно путаюсь. Непонятно зачем так делают.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 03-11-2021 в 14:49:

В Блендере по-Кармаку, очевидно же. А в юнити общепринятый способ, пошедший из математических графиков. X вверх, Y вправо, Z-вглубь.
Я так понимаю, что Z добавили именно с развитием трёхмерной графики, так-то его затруднительно было изобразить.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 03-11-2021 в 14:56:

Дядя Миша
Да там походу ещё некоторые оси отражены. В общем я до сих пор не разобрался в этом векторном аду. В юнити как раз верх это Y, а не X.
А есть ещё всякие tangent space, world space, object space.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 03-11-2021 в 15:32:

Пардон, это я напутал. Ну да Y вверх, X вправо, а Z вглубь.

Добавлено 03-11-2021 в 18:32:

Цитата:
FiEctro писал:
А есть ещё всякие tangent space, world space, object space.

Это тут вообще непричём.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 04-11-2021 в 08:16:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 05-11-2021 в 11:15:

После череды оптимизаций появилась возможность поставить индирект-сетку на разрешение 16х16 юнитов на один люксель.
И тут же появилась рефлективность в тех местах, где у Психопата на скриншотах. А я еще думал, ну почему её нет. Просто нехватало разрешения вторички.


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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 05-11-2021 в 11:38:

Цитата:
Дядя Миша писал:
Но поскольку кол-во отражённых лучей IRL стремится к бесконечности, а в программе мы ограничены какими-то разумными пределами, в итоге появляется шум.


Так и в блендере при запекании тоже шум сильный, потому деноизер использую. Но сильно ситуацию он не спасает.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 05-11-2021 в 13:06:

Проблема тут в следующем. Для того, чтобы отражённый луч попал абсолютно во все люксели лучей должно быть бесконечное кол-во.
Здесь не работают никакие упрощения, никакой псевдорандом не спасает ситуацию. Мы выпускаем луч в надежде, что он куда-то попадёт, но куда мы предсказать не можем. Самое поганое то, что он может попасть уже в тот люксель, в который попал предидущий луч. И получается, работа была сделана впустую. Instant Radiosity предполагает обратный механизм - луч пускается от одного реального люкселя до всех люкселей, которые находятся в области его видимости. Т.е. мы просто берём все потенциально видимые люксели и между ними пускаем трассы, проверяя реальную видимость. Такой подход позволяет нам сделать одно переотражение света.
А вот чтобы переотражений было неограниченное кол-во нам необходимо построить трансферы - для каждого люкселя идёт массив всех видимых люкселей и значение энергии света, которое будет передано от одного к другому. Хотя одна еденица трансфера занимает довольно мало места, порядка 6 байт, в сумме получается гигантская матрица на гигабайты.
Т.е. надо очень много памяти. Но в наше время на мой взгляд такой подход более предпочтителен, нежели рейтрейсинг. Его проблема в глазах программистов, КМК в том, что это непрямой алгоритм со множеством стадий и на каждой стадии должна быть оптимальная реализация, иначе дерьмо получится. Рейтрейс наоборот прямой однопроходный механизм. Вот люксель, вот луч, пустил и всё.
А для Instant Radiosity нужно:
- конвертировать реальную геометрию в однородную сетку, желательно с боле-мене постоянным шагом, учитывая что на реальных сценах попадаются как объекты, состоящие из тысяч мелких треугольников, так и гигантские треугольники на пол-уровня.
- посчитать для получившейся сетки патчей матрицу трансферов
- самое сложное: используя финальные значения освещения в сетке попытаться корректно наложить их обратно на реальные люксели лайтмапы.
Второй этап самый прозрачный и простой в реализации, он везде одинаков. А вот первый и третий могут запороть всю идею.
Никто не хочет с этим возиться, просто.

Предвосхищая вопрос насчёт халфы и ку2 - там была конвексная планарная геометрия с большими квадратными полигонами.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 05-11-2021 в 14:44:

Цитата:
Дядя Миша писал:
Самое поганое то, что он может попасть уже в тот люксель, в который попал предидущий луч.

Поэтому используют low-discrepancy sequence, чтобы рандомные лучи покрывали полусферу равномерно.


Отправлено Дядя Миша 05-11-2021 в 15:36:

Цитата:
ncuxonaT писал:
рандомные лучи покрывали полусферу равномерно.

Это бы хорошо работало, если бы принимающая геометрия сама была полусферой.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 05-11-2021 в 15:39:

Цитата:
Дядя Миша писал:
Это бы хорошо работало, если бы принимающая геометрия сама была полусферой.

Я не понимаю твою мысль.


Отправлено Дядя Миша 05-11-2021 в 16:40:

Равномерность - условие необходимое, но недостаточное.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 05-11-2021 в 17:15:

Дядя Миша недостаточное для чего? Как лучи попадут в один люксель, если все летят в разные стороны?


Отправлено Дядя Миша 05-11-2021 в 17:39:

Недостаточное для получения качественной лайтмапы, очевидно же.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 07-11-2021 в 12:19:

Цитата:
Дядя Миша писал:
Это бы хорошо работало, если бы принимающая геометрия сама была полусферой.


А что если что то подобное сделать?
https://3dprintingindustry.com/wp-content/uploads/2014/12/lamp-shadows-3d-printing.jpeg

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 11-11-2021 в 11:38:

Дядя Миша
Расскажи подробнее про лайтпробы, что они в себе содержат кроме цвета?
В справке юнити есть только это:
The data includes: probe positions, Spherical Harmonics (SH) coefficients and the tetrahedral tessellation.

Что за сферические гармоники и тетраэдрическая тесселяция?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 11-11-2021 в 12:04:

FiEctro https://ubm-twvideo01.s3.amazonaws....terpolation.pdf


Отправлено Дядя Миша 11-11-2021 в 12:14:

Лайтпробы можно считать 3D-сеткой в пространстве для лукапа.
Для игрушечных сцен лайтпробу можно хранить в 3D-текстуре, у Хумуса была демка.
Что они в себе будут содержать - решать только тебе. Сферическая гармоника это способ хранения данных для произвольного направления.
Не на 100% точный, но более экономичный, чем кубемапа, обычно.
Хотя если памяти не жалко, можно и кубемапы юзать. Они проще для понимания.
А что такое тетраэдрическая тесселяция я не знаю. Тесселяция тетраэдрами, наверное.

Добавлено 11-11-2021 в 15:14:

ЗЫ. Добил я таки свой лайтмаппер, вчетверо отодвинул лимиты по памяти, улучшил производительность и соответственно появилась возможность ставить для индиректа сетку более высокого разрешения.
Для сталкеровских карт мне 2 GB памяти конечно не хватит, но для игрушечных карт из тех же халф и квейков, можно смело ставить разрещение индиректа равное разрешению прямого света и получать баланс по качеству. Уродливые круги на спонзе (не на спонзе, а вообще сам эффект), я тоже убрал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 11-11-2021 в 15:08:

Дядя Миша
А как вообще работают эти гармоники? Почему нельзя задать просто точку с цветом в пространстве.

ncuxonaT
Уф сложно то как. Буду ковырять потихоньку. Я так понимаю её можно просто представить как меш сферы с вывернутыми определенным способом нормалями?

Добавлено 11-11-2021 в 18:08:

Цитата:
Дядя Миша писал:
Хотя если памяти не жалко, можно и кубемапы юзать. Они проще для понимания.


А как интерполировать кубамапы? Вот 2 понятно, а если их 5-10 и все с разных сторон?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 11-11-2021 в 16:50:

Цитата:
FiEctro писал:
Я так понимаю её можно просто представить как меш сферы с вывернутыми определенным способом нормалями?

Кого её? В лайтпробу записывают свет, пришедший в точку пространства со всех сторон. Грубо говоря, в точке рендерится кубемапа и размывается по косинусу.
https://learnopengl.com/img/pbr/ibl_irradiance.png
Чтобы получить освещение, достаточно по направлению нормали считать значение из такой размытой кубемапы. Но лайтпроб много, хранить для каждой кубемапу слишком жирно, поэтому придумали разные аппроксимации. Амбиент кубу нужно всего 6 RGB коэффициентов, сферическим гармоникам второго порядка - 9.
https://i.imgur.com/JjDrnA3.jpg
Если лайтпробы расставлены по регулярной сетке, можно использовать трилинейную интерполяцию. Для рандомно расставленных лайтпроб в юнити делают сетку из тетраэдров с лайтпробами в вершинах, внутри тетраэдра интерполяция по барицентрическим координатам. Проблема в том, что построить такую сетку из тетраэдров - нетривиальная задача, скорее всего, будет много сильно вытянутых тетраэдров, и интерполяция выйдет всратой. К примеру, активижн в колде не смогли с этим справиться и сделали равносторонние тетраэдры с рекурсивным разбиением.
https://advances.realtimerendering....D IW_20_PPS.pdf стр 47 и далее


Отправлено Дядя Миша 11-11-2021 в 16:57:

Цитата:
FiEctro писал:
А как вообще работают эти гармоники?

В них хранится больше информации, чем в одной точке. Разве не очевидно?

Цитата:
FiEctro писал:
А как интерполировать кубамапы? Вот 2 понятно, а если их 5-10 и все с разных сторон?

найди вес вклада каждой кубемапы для конкретной точки.
Можно по дистанции. Можно дополнительно убедиться, что кубемапа в пределах видимости, а не за стенкой.

Добавлено 11-11-2021 в 19:54:

Цитата:
ncuxonaT писал:
Грубо говоря, в точке рендерится кубемапа и размывается по косинусу.

Результат можно перегнать в сферическую гармонику, а можно так и оставить в кубемапе.

Добавлено 11-11-2021 в 19:57:

Цитата:
ncuxonaT писал:
делают сетку из тетраэдров с лайтпробами в вершинах, внутри тетраэдра интерполяция по барицентрическим координатам

Сетка регулярная-то? Не нравится мне эта идея.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 11-11-2021 в 17:26:

Цитата:
Дядя Миша писал:
Цитата:
ncuxonaT писал:
делают сетку из тетраэдров с лайтпробами в вершинах, внутри тетраэдра интерполяция по барицентрическим координатам

Сетка регулярная-то? Не нравится мне эта идея.

Цитата:
ncuxonaT писал:
Для рандомно расставленных лайтпроб в юнити делают сетку из тетраэдров с лайтпробами в вершинах, внутри тетраэдра интерполяция по барицентрическим координатам.


Отправлено Дядя Миша 11-11-2021 в 19:42:

Не, не вариант.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 12-11-2021 в 09:08:

Похоже реально проще сделать кубамапы, их и запекать просто. Просто не в текстуру, а в вертексколор например. А потом уже из этих данных строить интерполированную текстуру кубамапы в реальном времени.

ncuxonaT
Я там тебе в дискорд написал, посмотри.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 12-11-2021 в 09:37:

Что ты там сделать пытаешься?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 12-11-2021 в 09:51:

Цитата:
Дядя Миша писал:
Что ты там сделать пытаешься?


Лайтпробы собственные.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 13-11-2021 в 09:12:

И так, понял я примерно как работают эти сферические гармоники, это просто дот между записанным вектором в шейдер и нормалью меша. И таких векторов можно напрописывать сколько угодно.
https://b.radikal.ru/b01/2111/c0/951f71298153.png
https://b.radikal.ru/b00/2111/b7/56442767f3e1.png

Где каждое такое направление смешивается с цветом:
https://c.radikal.ru/c11/2111/09/a6da91e9cb73.png

Как раз большой оказалось это самое смешивание. Дело в том что при смешивании нельзя вообще совершать каких то математических операций с вектором. Вот допустим мы сложили его или умножили с цветом. Вектор тут же съезжает куда то в сторону. Из-за чего на меше появляются мерзкие цветовые аберрации ввиде красного цвета.

Ситуацию более менее спасла нормализация всех векторов, и так же переписываение всего смешивания на Lerp. Но после чего конечно пропали все тёмные пятна, и цвета стали очень блёклыми.
https://a.radikal.ru/a03/2111/b9/189f89bebecd.png

Решил подкрутить яркость банально возведя всё и вся в степень, стало лучше. Но потом я понял что так делать нельзя. Половина цветов направлений становится бледнее, а другая часть контрастнее.

Не смотря на то что направлений всего 8, кубы вроде как освещаются более менее, но всеравно очень блекло, и пропадают все тёмные места.
https://c.radikal.ru/c22/2111/c9/fbdb8f3ccaa7.png

Вот и кролик:
https://b.radikal.ru/b25/2111/c8/52af4096e255.png

Кода пока никакого нет, так что подкрутил цвета вручную чтобы просто посмотреть что получится:
https://a.radikal.ru/a08/2111/92/ebc6f55cc6be.png

С чтением цветов из вертекс колора проб тоже оказалось есть определённые ньюансы. Это например индексы вершин, при создании обычного куба, они как то рандомно перемешиваются, а так же самих этих вертексов при считывании может быть больше 8, например 14 (почему так хз, возможно юнити как склеивает их при импорте).

Кубамапы я тоже проверил, мне не понравился результат, даже самая размытая кубамапа меняет цвет в зависимости от камеры, что даёт неприятные цветовые искажения особенно на всяких плоских гранях.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 13-11-2021 в 12:16:

Ноуп, это не сферические гармоники.

Цитата:
FiEctro писал:
даже самая размытая кубамапа меняет цвет в зависимости от камеры

От камеры игрока?


Отправлено FiEctro 13-11-2021 в 12:44:

Цитата:
ncuxonaT писал:
От камеры игрока?


Да

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 13-11-2021 в 13:11:

FiEctro читать из кубемапы надо по направлению нормали, а не вектора отражения


Отправлено FiEctro 13-11-2021 в 13:24:

Цитата:
ncuxonaT писал:
FiEctro читать из кубемапы надо по направлению нормали, а не вектора отражения


Ну попробовал, от того что я сделал практически ничем не отличается. Всё так же непонятно как смешивать цвета направлений. Я так понимаю тут обычный вектор не годится. Надо как то делать треугольное пятно по направлению света, чтобы они всегда при смешивании давали в сумме 1?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 13-11-2021 в 13:49:

Если читаешь из размытой кубемапы, не надо ничего смешивать.
vec3 ambient = textureCube(cubemap, normal.xyz).rgb;
В современном glsl просто texture, без Cube.


Отправлено Дядя Миша 13-11-2021 в 14:23:

Цитата:
FiEctro писал:
даже самая размытая кубамапа меняет цвет в зависимости от камеры

Ты неправильно читаешь из кубемапы.

Цитата:
FiEctro писал:
математических операций с вектором. Вот допустим мы сложили его или умножили с цветом

Не надо складывать вектор с цветом.

Добавлено 13-11-2021 в 17:23:

Цитата:
FiEctro писал:
Всё так же непонятно как смешивать цвета направлений

Да никак не смешивать. Для того и кубемапа тебе, чтоб ты просто задал вектор и сразу получил нужный цвет на выходе.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 13-11-2021 в 16:53:

Так векторов много и они друг друга перекрывают. Получилось использовать кубамапу как базис. Работает намного удобнее чем по чистым векторам. Чтение идёт с вертексколора.
https://cdn.discordapp.com/attachme...13_19-39-59.mp4

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 13-11-2021 в 17:12:

Цитата:
FiEctro писал:
Так векторов много и они друг друга перекрывают

В каком смысле перекрывают?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 13-11-2021 в 17:14:

Цитата:
ncuxonaT писал:
Если читаешь из размытой кубемапы, не надо ничего смешивать.
vec3 ambient = textureCube(cubemap, normal.xyz).rgb;
В современном glsl просто texture, без Cube.


Да зачем хранить целую свору текстур кубамап? Я просто запек нормаль сферы в кубамапу, вычисляю по ней вектор и крашу его в нужный цвет.
https://c.radikal.ru/c07/2111/30/4c95fe4872f3.png

Цитата:
Дядя Миша писал:
В каком смысле перекрывают?


Вот есть у тебя куб. На верхнюю его часть падает свет с вектора (xyz, y вертикальная) 1 1 1 и второй источник с вектора -1 1 -1. На верхней грани будет смешение цветов этих источников. И ладно когда их 2, а вот если все 4 там вообще черт не разберет.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 13-11-2021 в 19:38:

Цитата:
FiEctro писал:
Я просто запек нормаль сферы в кубамапу, вычисляю по ней вектор

Читаешь по нормали из кубемапы и получаешь ту же самую нормаль?


Отправлено FiEctro 13-11-2021 в 20:12:

Цитата:
ncuxonaT писал:
Читаешь по нормали из кубемапы и получаешь ту же самую нормаль?


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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 14-11-2021 в 01:22:

https://cdn.discordapp.com/attachments/898227737842573353/909242596109484052/2021-11-14_03.43.00.png

https://cdn.discordapp.com/attachments/898227737842573353/909244003323621376/2021-11-14_03.50.52.png

https://cdn.discordapp.com/attachments/898227737842573353/909246378948063242/2021-11-14_04.00.12.png

Ну уже что то выглядит правдоподобно. Хотя не идеально, надо поэкспериментировать ещё с запеканием проб и весами.

https://cdn.discordapp.com/attachments/898227737842573353/909250139288404008/2021-11-14_04.15.07.png

https://cdn.discordapp.com/attachments/898227737842573353/909251565104283658/2021-11-14_04.10.00.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 14-11-2021 в 06:22:

Цитата:
ncuxonaT писал:

Читаешь по нормали из кубемапы и получаешь ту же самую нормаль?

Тут какой-то хитрый план.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 14-11-2021 в 11:07:

Что тут хитрого? Просто вместо того чтобы хранить сотни картинок, крашу одну единственную. Вектор получаю путем перемножения и инверсии каналов кубамапы. Думаю можно и без кубамапы на векторах сделать, но я уже писал что просто так их как кубамапу в цвет их не покрасить.

Теперь можно попробовать сделать и побольше направлений.
https://cdn.discordapp.com/attachments/411235425563443200/909398575937646592/2021-11-14_14.04.56.png
Запекается вроде как неплохо. Офигенно когда ты не привязан ни к движку, ни к компилятору. Твори что хочешь

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 14-11-2021 в 12:01:

Цитата:
FiEctro писал:
Твори что хочешь

Надо творить не что хочешь, а игру!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 14-11-2021 в 20:43:

Так, ну отлично, наконец разобрался как сделать маску для сферической пробы. Теперь можно спроецировать цвет каждого полигона пробы в отдельный квадратик на кубамапе.

Принцип работы крайне прост. У нас есть 4 канала RGBA. Где в каждом канале записан квадратик определенного оттенка который будет заливаться цветом полученным с вертексолора сферы. В итоге в каждом слое они разделены черными полосами, но при этом вместе они образуют единую поверхность.
96 цветов получается, наверное многовато, но думаю это всё же оптимальнее чем хранить кучу картинок.
https://c.radikal.ru/c35/2111/79/effd98a23235.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 15-11-2021 в 07:16:

А я замутил повертексное освещение. Компилятор сам выбирает, какие наборы треугольников осветить повертексно. Но можно указать ему и явным образом. Немаловажно то, что перехода между повертексным и лайтмапой нет. Там нет ни щели ни шва, незаметный переход.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 15-11-2021 в 08:08:

Дядя Миша
Это для динамических объектов.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 15-11-2021 в 12:04:

FiEctro это вопрос или утверждение?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 15-11-2021 в 12:09:

FiEctro ты понимаешь, что наколхозил кубемапу 4х4?


Отправлено Дядя Миша 16-11-2021 в 11:39:

Объясните мне пожалуйста вот какую вещь. Я реально не понимаю.
Сейчас во всех движках взяли за моду следовать правилу: один меш = одна лайтмапа. В чём тут смысл, может мне кто-то объяснить?
Если исходить ситуации, что на сцене одна уникальная копия меша и к ней прилагается одна лайтмапа, то проблем нет. Но в реальности один и тот же меш может переиспользоваться тысячи раз. Например модель дерева, поставлена на карту 500 раз. И получается что для каждой такой модели дерева будет создана своя лайтмапа? Или они потом упакуются в страницы?
Или так останутся? Не понимаю я этот механизм и никто не может мне объяснить.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 16-11-2021 в 11:52:

ncuxonaT
Да понимаю. Вот только такую кубамапу можно относительно дешево перезаписывать в реальном времени. Меня удивляет другое, вы сами сказали делать кубамапой, а теперь удивляетесь почему я делаю так. Что же это получается, вы меня обманули? Кстати пришлось отказаться от этого метода, поскольку он клампится как то всрато. Сделаю как и предыдущий вариант, перемножением запеченных векторов.

Цитата:
Дядя Миша писал:
FiEctro это вопрос или утверждение?


Вопрос

Цитата:
Дядя Миша писал:
Например модель дерева, поставлена на карту 500 раз. И получается что для каждой такой модели дерева будет создана своя лайтмапа? Или они потом упакуются в страницы?
Или так останутся? Не понимаю я этот механизм и никто не может мне объяснить.


Какие ещё страницы? Да и нет такого правила. Многие современные игры суют просто амбиент и шадоумапы на твоё дерево, всё. Ну ещё лайтпробы может быть. Запекать лайтмапу для каждого дерева конечно можно, но смысла особого в этом нет.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 16-11-2021 в 12:00:

Цитата:
FiEctro писал:
Меня удивляет другое, вы сами сказали делать кубамапой, а теперь удивляетесь почему я делаю так

Я не говорил "делать кубемапой". Я сказал, что кубемапа проще для понимания, сделай пока ей, разберёшься что к чему и тогда уже решишь, как быть - оставить кубемапы или попробовать гармоники. Ну или еще что-то. А ты ухитрился запутаться в кубемапах

Цитата:
FiEctro писал:
Какие ещё страницы?

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

Цитата:
FiEctro писал:
Многие современные игры суют просто амбиент и шадоумапы на твоё дерево, всё.

какие еще шадовмапы, ты меня не путай. Шадоумапа вообще в реалтайме накладывается. Может быть ты имел в виду лайтмапу, которая содержит только тень?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 16-11-2021 в 12:41:

Цитата:
Дядя Миша писал:
какие еще шадовмапы, ты меня не путай. Шадоумапа вообще в реалтайме накладывается. Может быть ты имел в виду лайтмапу, которая содержит только тень?


Я имел ввиду что такие вещи освещаются тупо динамическим освещением, и ничего там не запекается. Вон тот же срузис запусти, где там лайтмапы на деревьях?

Добавлено 16-11-2021 в 15:41:

Цитата:
Дядя Миша писал:
Я не говорил "делать кубемапой". Я сказал, что кубемапа проще для понимания, сделай пока ей, разберёшься что к чему и тогда уже решишь, как быть - оставить кубемапы или попробовать гармоники.


Ну получу я гармоники я так понимаю теми же векторами, а как мне их красить? Это гамно при смешивании начинает разъезжаться. Да и к тому же оно даст шашечку одинаковых цветов, как мне получить нужную ячейку?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 16-11-2021 в 13:33:

Цитата:
Дядя Миша писал:
Сейчас во всех движках взяли за моду следовать правилу: один меш = одна лайтмапа. В чём тут смысл, может мне кто-то объяснить?
Если исходить ситуации, что на сцене одна уникальная копия меша и к ней прилагается одна лайтмапа, то проблем нет. Но в реальности один и тот же меш может переиспользоваться тысячи раз. Например модель дерева, поставлена на карту 500 раз. И получается что для каждой такой модели дерева будет создана своя лайтмапа? Или они потом упакуются в страницы?
Или так останутся? Не понимаю я этот механизм и никто не может мне объяснить.

Что значит "один меш одна лайтмапа один народ, один рейх, один фюрер"? Отдельная текстура на каждый меш? Так никто не делает, всегда в атласы пакуют. Некоторые, типа фростбайта, даже пакуют атлас для всего уровня целиком, а не предварительно сделанные помешевые куски. Стр.97 и далее:
https://media.contentapi.ea.com/con...infrostbite.pdf
Если на карте 500 деревьев, возможно, стоить использовать другие методы их освещения.
Цитата:
FiEctro писал:
Меня удивляет другое, вы сами сказали делать кубамапой, а теперь удивляетесь почему я делаю так. Что же это получается, вы меня обманули? Кстати пришлось отказаться от этого метода, поскольку он клампится как то всрато. Сделаю как и предыдущий вариант, перемножением запеченных векторов.

Мы удивляемся, что вместо кубемап ты нагородил огород с шашечкой и разъезжанием при смешивании.
Цитата:
FiEctro писал:
Ну получу я гармоники я так понимаю теми же векторами, а как мне их красить? Это гамно при смешивании начинает разъезжаться. Да и к тому же оно даст шашечку одинаковых цветов, как мне получить нужную ячейку?

Не получишь ты гармоники векторами, они не так работают. Изучай теорию.


Отправлено FiEctro 16-11-2021 в 13:38:

Цитата:
ncuxonaT писал:
Не получишь ты гармоники векторами, они не так работают. Изучай теорию.


Прости, но я ничего не пони. Можешь простыми русскими буквами объяснить чем являются эти гармоники? Это кубамапа, вектор, трипланарная проекция или что?



Ну вот я получил их допустим. А дальше что?

Сейчас сижу курю этот мануал:
http://www.ppsloan.org/publications/StupidSH36.pdf

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 16-11-2021 в 16:06:

FiEctro не могу, потому что сам не шарю. Это такие специальные функции в сферических координатах.

По ним можно размазать освещение со сферы и записать как коэффициенты этих функций. Чем выше порядок гармоник, тем точнее, но я не видел, чтобы кто-то использовать больше чем L2 (это верхние три ряда). Как восстановить освещение из коэффициентов написано в последнем аппендиксе по твоей ссылке.
Амбиент кубы и кубемапы проще.


Отправлено Дядя Миша 16-11-2021 в 18:11:

Цитата:
FiEctro писал:
Вон тот же срузис запусти, где там лайтмапы на деревьях?

Где в Срузисе ты вообще нашёл лайтмапы? Амбиент-мапа там была для ландшафта и всё.

Цитата:
FiEctro писал:
Это гамно при смешивании начинает разъезжаться



Цитата:
ncuxonaT писал:
Так никто не делает, всегда в атласы пакуют.

Ну вот выше обсуждали спонзу. И у вас получилось, что для спонзы единая страница. Которая привязана именно к этому мешу.

Цитата:
ncuxonaT писал:
Если на карте 500 деревьев, возможно, стоить использовать другие методы их освещения.

Да нормально. Лишь бы памяти хватило при компиляции.

Добавлено 16-11-2021 в 21:11:

Цитата:
ncuxonaT писал:
Это такие специальные функции в сферических координатах.

Гармоники потенциально могут хранить освещение в "более высоком" разрешении, однако, как и положено чисто математическим методам, не сходятся к точному решению, там всегда нечто приблизительное и к тому же нелинейное. Собственно это полбеды, меня куда больше их размер пугает.
27 флоатов для одного сэмпла это очуметь можно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 16-11-2021 в 18:39:

Цитата:
Дядя Миша писал:
Ну вот выше обсуждали спонзу. И у вас получилось, что для спонзы единая страница. Которая привязана именно к этому мешу.

Спонзу нам дали готовым мешем, какие еще были варианты? Если бы она состояла из модулей с инстансами, сначала можно было бы сделать развертку каждому уникальному мешу. И потом сложить в общий атлас
https://i.pinimg.com/originals/20/22/ae/2022aeae5eb242c100be6c448102baaf.jpg
Я не понимаю, что тебя не устраивает.


Отправлено Дядя Миша 16-11-2021 в 19:12:

Я пытаюсь понять как это в Юнитях устроено. И главное зачем.

Добавлено 16-11-2021 в 22:12:

Цитата:
ncuxonaT писал:
Если бы она состояла из модулей с инстансами, сначала можно было бы сделать развертку каждому уникальному мешу.

Вот эту фразу я вообще не отдупляю. Какая в сущности разница, единым мешем спонза или нет. Внутри единого меша существуют островки (я их лайтгруппами называю). И каждый островок можно вычленить и отправить в нужную страницу атласа. Что, собственно, мой компилятор и делает.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 16-11-2021 в 20:49:

Цитата:
Дядя Миша писал:
Какая в сущности разница, единым мешем спонза или нет. Внутри единого меша существуют островки (я их лайтгруппами называю). И каждый островок можно вычленить и отправить в нужную страницу атласа. Что, собственно, мой компилятор и делает.


У меша есть развертка под лайтмапу, развертка каждого инстанса укладывается в общий атлас. На каждый инстанс достаточно иметь оффсет и скейл, чтобы читать из лайтмапы. А если каждый островок паковать по-своему, как потом рендерить через инстансинг?


Отправлено Дядя Миша 17-11-2021 в 06:13:

Но obj не поддерживает инстансы. Их не вычленить из копий.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 17-11-2021 в 06:22:

А при чем здесь обж?


Отправлено FiEctro 17-11-2021 в 11:27:

А чего тут понимать? Любую карту можно интерпритировать как единый меш со своей разверткой для лайтмапы. Но поскольку запекать мегатекстуры проблематично. Можно разбить её на несколько сегментов и запечь каждый по отдельности со своей собственной лайтмапой. Но это не значит что если у тебя на сцене 10 деревьев, то каждое дерево свой "лист" лайтмапы хранить будет. Логичнее просто сделать отдельную лайтмапу для всех деревьев на сцене. А для геометрии свою. Типа лайтмап групп.


Цитата:
Дядя Миша писал:
Где в Срузисе ты вообще нашёл лайтмапы? Амбиент-мапа там была для ландшафта и всё.



Ну ты хотел спросить как делают в современных играх? Вот так и делают.

Цитата:
ncuxonaT писал:
У меша есть развертка под лайтмапу, развертка каждого инстанса укладывается в общий атлас. На каждый инстанс достаточно иметь оффсет и скейл, чтобы читать из лайтмапы. А если каждый островок паковать по-своему, как потом рендерить через инстансинг?


Ты имеешь ввиду инстансы на уровне движка/компилятора? Или в самих форматах есть такая фишка?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 17-11-2021 в 12:23:

Цитата:
ncuxonaT писал:
А при чем здесь обж?

У меня моделька спонзы в obj.

Мда, никто не понял ничего.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 17-11-2021 в 13:13:

Цитата:
FiEctro писал:
Ты имеешь ввиду инстансы на уровне движка/компилятора? Или в самих форматах есть такая фишка?

На уровне движка/компилятора. Поддержка инстансов, кажется, есть в glTF, но это не точно. И в fbx еще. Но после укладки в общий атлас инстансы перестают быть инстансами.


Отправлено Дядя Миша 17-11-2021 в 14:12:

Цитата:
ncuxonaT писал:
Но после укладки в общий атлас инстансы перестают быть инстансами.

Это еще почему? В атлас тоже по разному уложить можно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 17-11-2021 в 15:31:

Цитата:
Дядя Миша писал:
Это еще почему? В атлас тоже по разному уложить можно.

Ну развертка поменялась, каждый меш уникальный стал.


Отправлено Дядя Миша 17-11-2021 в 15:42:

Та спонза, что у меня в obj в любом случае не имеет никаких инстансов.
Просто потому что все одинаковые модели вставлены на карту по месту спавна. Значит у них как минимум позиции все разные. Для obj это заведомо лишено смысла. Может в fbx есть ссылки-референсы, я не знаю.
Но инстансы работают только так - со ссылками.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 18-11-2021 в 10:23:

Дядя Миша
Оригинальную или крайтековскую спонзу запечь в один атлас не получится, там развертка полное Г и почти все островки перекрывают друг друга. В любом случае её придется переразворачивать или хотя бы пересчитывать скейл и положение островков.

ncuxonaT
Не знаешь, есть ли возможность вытащить кэш лайтпроб из Иви Блендера? Везде пишут что нет, но недавно нашел такой ассет:
https://github.com/Unity-Technologi...portLightProbes

где написано следущее:
This sample shows how to import externally-generated (e.g. in Blender) lightprobes in a scene in the Editor.

И вот сижу чешу репу, везде написано что нельзя, а тут автор как то умудрился, но не написал как.
Даже пример такого кэша есть:

C++ Source Code:
1
2.5, 3, 0.5, 0.03766569, 0.1030824, 0.01867939, -0.03184035, -0.00492864, -0.01405831, 0.01411142, -0.02344611, -0.01067989, -0.01831887, -0.1035331, -0.009047169, 0.006892571, 0.001111517, 0.003034855, -0.00519229, 0.001207387, 0.003737926, -0.0008788423, -0.003396822, -0.0001068384, -0.002955928, 0.00941532, 0.002195539, -0.00198028, 0.01063095, -0.0006673847
2
2.5, 3, -0.5, 0.02662994, 0.1052847, 0.02587328, -0.02039641, -0.00728055, -0.02160436, 0.01546777, 0.01733234, -0.009405935, -0.01262444, -0.1047037, -0.0127483, 0.004397746, 0.001641672, 0.004669089, -0.005451859, 0.001011968, 0.003452272, -0.0001339016, -0.00356429, -0.0006084982, -0.003181568, -0.008107472, 0.001965848, -0.001041758, 0.010432, -0.00130295
3
2.5, 1, 0.5, 0.07759441, 0.06466089, 0.0159359, -0.0539031, 0.0361478, -0.006300943, 0.0189222, -0.01391361, -0.01291532, -0.04350653, -0.05139077, -0.008684336, 0.01264493, -0.01254238, 0.001483077, -0.003795438, -0.001787438, 0.002503535, -0.001074473, -0.001968019, 0.0005422059, -0.00427402, 0.004321725, 0.002986173, -0.001378401, 0.001619007, 0.0003651362
4
2.5, 1, -0.5, 0.02453841, 0.07598859, 0.05119544, -0.009752461, 0.02675953, -0.03561099, 0.01958921, 0.005836774, -0.0126669, -0.01378435, -0.05810663, -0.02870967, 0.002347773, -0.01026074, 0.008343158, -0.003788272, 0.003396133, 0.002597207, 0.0007855799, -0.002411243, -0.0007259657, -0.004608234, -0.002374469, 0.002904405, 0.0006588636, 0.001245803, -0.000955786
5
-2.5, 3, 0.5, 0.03745094, 0.1032179, 0.01911208, -0.03159141, -0.005015183, -0.01432195, 0.014017, -0.02353403, -0.01099705, 0.01835887, 0.1036003, 0.009245581, -0.006881318, -0.001130587, -0.003087123, -0.005150153, 0.001227011, 0.003806305, -0.0008817693, -0.003394828, -9.550271E-05, 0.002967853, -0.009438777, -0.002280653, -0.001941887, 0.01062748, -0.0006800873
6
-2.5, 3, -0.5, 0.02771414, 0.1051884, 0.02558691, -0.02116384, -0.007182962, -0.02130105, 0.01604938, 0.01726401, -0.009642453, 0.01310889, 0.1046374, 0.01255241, -0.004515809, -0.001624998, -0.004622761, -0.005627337, 0.001032067, 0.003521517, -0.0001410853, -0.003551852, -0.0005675056, 0.003306652, 0.008100422, -0.001985883, -0.001071229, 0.0104347, -0.001292708
7
-2.5, 1, 0.5, 0.07777406, 0.0645997, 0.01579172, -0.05427752, 0.03623488, -0.006066049, 0.01812886, -0.01385893, -0.01280487, 0.04382867, 0.05134535, 0.00854145, -0.01279844, 0.01257865, -0.001379382, -0.003524811, -0.001812005, 0.002439725, -0.001105693, -0.001968118, 0.0005467627, 0.004237912, -0.004287756, -0.002895101, -0.001410613, 0.001627567, 0.0003864953
8
-2.5, 1, -0.5, 0.02308147, 0.07639895, 0.0523479, -0.009040739, 0.02655744, -0.03618493, 0.01904755, 0.006073732, -0.011967, 0.01243122, 0.05844737, 0.0296635, -0.002094854, 0.01019784, -0.008516269, -0.003597178, 0.003317137, 0.002356594, 0.000843108, -0.002421425, -0.0007550829, 0.004369803, 0.002422819, -0.002781461, 0.0005457943, 0.001268, -0.0008968611
9
2.5, 3, 5, 0.03280678, 0.001198475, 0.003256147, -0.02663316, -0.0005210519, -0.001290674, -0.01564645, -0.001136799, -0.00322799, -0.01583834, -0.0004328613, -0.001110775, 0.005731796, 9.176064E-05, 0.0002121515, 0.005697977, 0.0002268397, 0.0006091971, -0.0005337315, 7.195678E-05, 0.0002198598, 0.003280762, 0.0001881649, 0.0005122891, -0.001526201, -5.716447E-06, -4.794403E-06
10
2.5, 1, 5, 0.05016873, 0.0006237159, 0.001419603, -0.03157369, -0.0001464663, -0.0001866114, -0.02775052, -0.0005831414, -0.001468943, -0.02821271, -0.0002450754, -0.0004897895, 0.00742806, 3.125121E-05, 3.460401E-05, 0.007411436, 4.59252E-05, 7.618991E-05, -0.0001817691, 3.942368E-05, 0.0001146794, 0.006496786, 9.734567E-05, 0.0002286251, -0.0003879942, 6.154805E-06, 2.000991E-05
11
-2.5, 3, 5, 0.0325904, 0.001211461, 0.003399632, -0.0263592, -0.0005112016, -0.001297553, -0.01563889, -0.001151433, -0.003376531, 0.01582109, 0.0004547734, 0.001216199, -0.005721828, -9.373603E-05, -0.0002251778, 0.005701135, 0.0002225449, 0.000612933, -0.000518682, 7.321817E-05, 0.000231043, -0.003248395, -0.0001988763, -0.0005635571, -0.001482168, -3.215268E-06, 2.999942E-06
12
-2.5, 1, 5, 0.05038277, 0.0003989731, 0.0008419089, -0.03156844, -0.0001237493, -0.0001284973, -0.0281937, -0.0003336536, -0.0008214411, 0.02807826, 0.0001905901, 0.0003645254, -0.007398681, -2.848541E-05, -2.830849E-05, 0.007446206, 3.379954E-05, 4.47272E-05, -0.0001268749, 1.778965E-05, 5.767161E-05, -0.006530316, -6.826976E-05, -0.0001596371, -0.0004115707, 4.447145E-06, 1.69611E-05
13
2.5, 3, -5, 0.00381045, 0.006509741, 0.02209797, -0.001488039, -0.005130989, -0.01778007, 0.00382544, 0.003331349, 0.01077408, -0.001177083, -0.003133396, -0.01064602, 0.0002197995, 0.001107938, 0.00383048, -0.0007107611, -0.001163506, -0.003868465, 0.0002693487, -7.349941E-05, -0.0003236143, -0.0005485356, -0.0007006004, -0.002252185, -1.275798E-05, -0.0002798142, -0.001007661
14
2.5, 1, -5, 0.001047937, 0.009259359, 0.03329164, -0.0001820689, -0.005786666, -0.02100037, 0.0009734254, 0.005257147, 0.01873671, -0.0005490044, -0.005115283, -0.01841058, 4.408572E-05, 0.001356029, 0.00492084, -6.016038E-05, -0.00136868, -0.004954225, 6.022056E-05, -1.361513E-05, -7.585289E-05, -0.0002372413, -0.001213603, -0.004325451, 2.879387E-05, -8.281692E-05, -0.0003153735
15
-2.5, 3, -5, 0.005108589, 0.006183651, 0.02120409, -0.002065183, -0.004948885, -0.01725894, 0.005033365, 0.003068313, 0.01007999, 0.001732737, 0.003005896, 0.01032721, -0.0003382285, -0.001081667, -0.003768069, -0.0009716153, -0.001100165, -0.003700259, 0.0003377485, -8.499158E-05, -0.0003522259, 0.0007859636, 0.0006459596, 0.002115115, -6.209475E-06, -0.0002743705, -0.0009864204
16
-2.5, 1, -5, 0.001049561, 0.009361741, 0.03360142, -0.000187883, -0.005798678, -0.0210374, 0.001019195, 0.005306792, 0.01885248, 0.0004217285, 0.005208991, 0.01872447, -4.06184E-05, -0.001360594, -0.004936148, -6.475423E-05, -0.001371244, -0.004960092, 7.144028E-05, -1.377438E-05, -8.12939E-05, 0.0001814065, 0.001230909, 0.004375592, 1.753759E-05, -7.175392E-05, -0.0002768065

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 18-11-2021 в 10:34:

Цитата:
FiEctro писал:
и почти все островки перекрывают друг друга.

Самое главное возможность выделить эти островки. Остальное неважно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 18-11-2021 в 12:45:

FiEctro неа, не знаю. В описании ассета ни слова про иви и её иррадианс вольюм, почему ты решил, что речь о них?


Отправлено FiEctro 18-11-2021 в 14:56:

Цитата:
ncuxonaT писал:
FiEctro неа, не знаю. В описании ассета ни слова про иви и её иррадианс вольюм, почему ты решил, что речь о них?


А тогда о чём? Я так и не пони как они этот файлик получили. Ни плагина, ни билда, ничего. Просто упоминание блендера.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 18-11-2021 в 16:20:

"probes.txt contains the light probe positions and spherical harmonics in a csv format. These coefficients were generated with the GameObjects under Environment set to "Contribute Global Illumination" and the External Bake Light enabled."
Они этот файл в юнити же и сделали, а блендер упомянули просто по приколу.

Вот это умеет делать коэффициенты гармоник из кубемапы, но я не понимаю, как им пользоваться.
https://github.com/nicknikolov/cubemap-sh


Отправлено FiEctro 19-11-2021 в 00:21:

https://blenderartists.org/t/blende...packing/1239767

Нашел такой разворачивальщик. Спонзу единым мешем он разворачивает крайне плохо, но вот оригинальную - вполне недурно, хотя и тоже не без косяков. Но в любом случае результат мне понравился.
https://cdn.discordapp.com/attachments/411235425563443200/911046780391665674/2021-11-19_03.14.07.png
https://cdn.discordapp.com/attachments/411235425563443200/911047302251151360/2021-11-19_03.16.25.png

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 19-11-2021 в 06:27:

На первом скрине у столба шов, сетка не совпала

Добавлено 19-11-2021 в 09:27:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 19-11-2021 в 07:08:

Цитата:
Дядя Миша писал:
На первом скрине у столба шов, сетка не совпала


Для лайтмапы думаю это не сильно критично. Я просто показать вам как развернулось. Но вообще ты прав, надо накачать несколько разворачивальщиков и протестировать их на спонзе. Но думаю автоматическая развертка во всех случаях будет более менее всратой. Всётаки уместить такое большое количество объектов на одной текстуре не очень хорошая идёя. Надо бы разделить отдельную лайтмапу для геометрии, а другую для деталей. Но зато запеклась лайтмапа вообще для всего, и для ковров, и для цепочек, и для горшков и для листочков и амбиент оклюжен даже получился вроде ничего так. Надеюсь у себя в ксаше тоже его сделаешь.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 19-11-2021 в 15:45:

Цитата:
FiEctro писал:
Но вообще ты прав, надо накачать несколько разворачивальщиков и протестировать их на спонзе.

Потестируй и скрины сюда кидай, интересно.
Поищи разворачивальщик на базе UVAtlas, он входит в инструменты DXSDK от Microsoft. Он меня больше всего интерисует.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 19-11-2021 в 16:37:

Он сам разворачивает или просто пакует те куски, что есть?


Отправлено Дядя Миша 19-11-2021 в 18:14:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 24-11-2021 в 18:32:

В процессе оптимизации лайтмаппера, меня сегодня утром посетила мысль.
А какого, собственно чёрта, я на регулярной сетке делаю запрос к AABB дереву и перебираю все треугольники, которые примерно попадают в эти координаты. Меня бы эта мысль может и не посетила, но вчера я захотел сохранить координаты лайтмапы в unsigned short для экономии памяти и тут же столкнулся с тем, что всё поехало нахрен. Оно и раньше так делало, но тут вообще. Ошибки округления. Но только когда по лайтмапе лукапишь треугольники, удовлетворяющие текущей uv-координате на лайтмапе.
В то же время, при рендеринге ребёр никаких ошибок не возникает.
Всё отлично. Значит надо рендерить просто треугольники, а не заниматься их поиском. Написал простейший растеризатор с клиппингом барицентрических координат и внезапно понял - вот оно!
Помните я говорил, что в грамотно построенноем лайтмаппере швы вообще не должны возникать? На лайтмапах всмысле.

Слева старый вариант, справа новый


Да, на старом варианте именно там и будет чёртов шов, он всегда там был. Дебаг-лайтмапа с фильтром GL_NEAREST, если что.

Добавлено 24-11-2021 в 21:32:

На черные дегенераты не обращайте внимание, их бордюры потом замажут.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 24-11-2021 в 19:51:

Вообще ничего не понятно, но на новом варианте стало много швов на трубах.


Отправлено Дядя Миша 25-11-2021 в 06:14:

На ближней трубе в изначальном варианте обрати внимание - между красными идёт тонкая синяя полоска. Этот треугольник ярко светился, а теперь его нет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 25-11-2021 в 08:35:

Да, одно починилось, другое сломалось. Какие то черные треугольники появились. Вообще топология на крышке бочки получилась крайне всратой.

Кстати, по какой формуле вычислять овербрайты для лайтмапы? Я просто смешиваю так:
(Diffuse*Lightmap) + (Diffuse*Lightmap), вроде выглядит более менее приятно, но всеравно что то не то в сравнении с тем же сорсом. Умножение как то сильно роняет общий уровень яркости.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 25-11-2021 в 09:50:

Цитата:
FiEctro писал:
Какие то черные треугольники появились

Цитата:
Дядя Миша писал:
На черные дегенераты не обращайте внимание, их бордюры потом замажут.

Не по глазам? Я могу их убрать и так, но с такой мелочью нет смысла возиться, проще замазать бордюром.

Цитата:
FiEctro писал:
Вообще топология на крышке бочки получилась крайне всратой.

Это художникам из GSC расскажи.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 25-11-2021 в 13:14:

Цитата:
Дядя Миша писал:
На ближней трубе в изначальном варианте обрати внимание - между красными идёт тонкая синяя полоска.

На одной убыло, на десяти прибыло. Очевидно, метод не универсальный. Плюс швы больше от билинейной фильтрации, а тут нерест
https://i.imgur.com/UDQA4lO.jpg

Добавлено 25-11-2021 в 16:14:

Цитата:
FiEctro писал:
Кстати, по какой формуле вычислять овербрайты для лайтмапы? Я просто смешиваю так:
(Diffuse*Lightmap) + (Diffuse*Lightmap), вроде выглядит более менее приятно, но всеравно что то не то в сравнении с тем же сорсом. Умножение как то сильно роняет общий уровень яркости.

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


Отправлено FiEctro 25-11-2021 в 14:01:

>> Можно умножить на 2 вместо сложения.
В сорсе хдр лайтмапы.

Да разницы особо нет. Мультиплай любую даже переэкспонированную лайтмапу затемнит. Я то думал там какая то особая формула.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 26-11-2021 в 07:52:

Цитата:
ncuxonaT писал:
Очевидно, метод не универсальный.

Метод хорош уже тем, что не надо перебирать треугольники в поисках подходящего.
Ради интереса посмотрел как q3map2 рендерит треугольники.
Оказывается, он их субдивайдит до тех пор, пока ребро лайтмапы не станет меньше одного люкселя. Я сперва подумал - ну и хрень. А нет, оказалось в Ue4 точно так же сделано. Только чуть-чуть поумнее.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 26-11-2021 в 08:20:

Дядя Миша лол так это же как ати труформ на минималках, когда он не может увеличить выпуклость а может только побить треугольники ради гладкого шейдинга


Отправлено Дядя Миша 26-11-2021 в 19:57:

Труформ аптечки и патроны в первой кваке надувал. Никогда я такого больше не видел.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 27-11-2021 в 08:47:

Замутил попиксельную упаковку атласа. Плотнее этой упаковки может быть только упаковка с вращением фигур. Но дело не столько во вращении, сколько в том, что лайтмапа может быть не выровнена относительно основных осей. Я вот подумал, что неплохо бы вращать такие лайтмапы выравнивая их. Ну это потом уже.

Слева ректанглы, справа попикселка.


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


Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 27-11-2021 в 11:15:

Дядя Миша еще он вертолет в опфоре надувал


Отправлено ncuxonaT 27-11-2021 в 13:27:

Цитата:
Дядя Миша писал:
Замутил попиксельную упаковку атласа.

Автор молодец за проделанную работу!


Отправлено FiEctro 05-12-2021 в 09:36:

Немного не по теме вопрос, но тоже связан с движками Сорс и ГС. Каким образом там борятся с рывками объектов обновляющихся по сети?
Понятно что предиктинг и интерполяция. Но хотелось бы узнать более подробно.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 05-12-2021 в 10:16:

Цитата:
FiEctro писал:
Каким образом там борятся с рывками объектов обновляющихся по сети?
Понятно что предиктинг и интерполяция.

Ну если лаг достаточно большой, то рывка не избежать в любом случае.

А в новых движках вообще синхронизация редкая, может раз в минуту.
Каждый живёт в своём воображаемом мире. Вроде бы взял аптечку, а потом пришло обновление - а нет, не взял.

Добавлено 05-12-2021 в 13:16:

А я тем временем заканчиваю работу над новым рендерером лайтмап.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Дядя Миша 05-12-2021 в 17:45:

А по лайтстилям я вам так скажу. В кваке во первых сами лайтмапы не занимали как правило достаточно много геометрии на одну лайтгруппу.
Типично - одна сторона браша. Так мало этого - их еще и разрубали на кусочки по 240 юнитов. Причём это работало как бы по двум направлениям.
С одной стороны - чтобы даже самый гигантский полигон уместился на лайтмапу 128х128 (в ку3 даунскейл вместо этого, а у меня опция в настройках, можно и так и эдак). А с другой стороны - для того чтобы лайтстили друг-дружку не перекрывали, когда достаточно длинный полигон, ну например колидор. На одном конце светит одна лампочка, на другом светит вторая. и вот уже два лайтстиля использованы. А так их разрубило на множество квадратиков и лайтстили экономятся. Но в современном рендерере нельзя так разгруппировывать полигоны в угоду каким-то лайтстилям. Да и вообще, писать что-то в карту и городить огород поверх уже существующего и боле-мене отлаженного механизма не хочется.
И я придумал вот какой выход - лайтстили должны быть попиксельные!
Заведу еще одну страницу лайтмапы и буду прям туда их записывать. Как раз четыре канала - четыре лайтстиля. Только её в DXT нельзя будет сжимать, ну понятно. Но смысл еще и в том, что подобная вспомогательная лайтмапа сэкономит потенциально место, т.к. уйдет жесткая привязка - одна подстраница - один лайтстиль. Тут возможны разные оптимизации.
Так что да, в дальнейшем лайтстилям - быть. Я думаю это хорошее решение. И BSP не затрагивает. Единственная печаль - это то, что эту страницу с лайтстилями нельзя сжимать. Ну да ладно, маловероятно что все страницы займут хотя бы 100 мегабайт в памяти, а это по современным меркам ниочём.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 05-12-2021 в 17:50:

Дядя Миша что в канал-то записывать, номер лайтстиля? А в делюксмапу так же по каналам тень?


Отправлено FiEctro 05-12-2021 в 18:46:

Непонимаю что такого в этих лайтстилях. В шейдере 2 картинки смешиваешь и всё.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 05-12-2021 в 19:34:

Какие две картинки. Лайтстилей нужно не менее 8, иначе уже не сделаешь нормально выключаемые лампочки в помещениях типа офисных, где много небольших комнат.
Хотя и 8 может не хватить.

__________________

xaerox on Vivino


Отправлено FiEctro 05-12-2021 в 19:43:

XaeroX
Ну даже 8, не так уж и много.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 05-12-2021 в 20:13:

FiEctro
Добавь ещё диффузку, нормалмапу, хейтмапу, глоссмапу. И 8 делюксмап, которые объединяются менее тривиально, чем лайтмапы, т.к. там векторы.

__________________

xaerox on Vivino


Отправлено Дядя Миша 05-12-2021 в 21:25:

Цитата:
ncuxonaT писал:
что в канал-то записывать, номер лайтстиля?

Ну да, номер лайтстиля. А сами лайтстили - это глобальная таблица мультипликаторов освещённости, управляемая на сервере.
Цитата:
ncuxonaT писал:
А в делюксмапу так же по каналам тень?

Не, делюкс мап будет столько же саб-страниц, сколько лайтстилей.
В сталкере их скажем достаточно двух - аутдор, солнце и всё остальное.
В кваках все четыре заюзаны, но в большинство уровней кваки уместит все лайтмапы на одной странице. И там можно использовать ч\б лайтмапу, т.е. каждый канал RGBA будет стилем. Да там много чего предусмотреть можно.
Самое главное, что для движка это абсолютно прозрачно - всё в шейдерах.

Цитата:
XaeroX писал:
Лайтстилей нужно не менее 8, иначе уже не сделаешь нормально выключаемые лампочки в помещениях типа офисных

Для попиксельных лайтстилей - может и четырёх за глаза хватит. У тебя же полигональные, как в кваке?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 05-12-2021 в 21:33:

Дядя Миша всё, понял, что ты задумал. Сначала решил, что речь про подобие гумусовского модернового лайтмаппинга.


Отправлено Дядя Миша 05-12-2021 в 21:38:

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

У Хумуса демки слабо применимые к продакшену. По крайней мере те идеи, которые он в них закладывает. Ты видел как его модерн-лайтмаппинг устроен? Битовая маска в шейдере, брр. И как это будет с радиосити сочетаться? Собсно, идея, аналогичная - сделать попиксельную карту источников света. У Хумуса она в 2 раза меньше по разрешению основной лайтмапы, но это охренеть какое смелое допущение, оно только для такой демки и годится. А так принцип тот же.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 05-12-2021 в 21:57:

Дядя Миша у меня была мысль записать в одну страницу лайтмапы индексы трех самых ярких лампочек, а тени от них по каналам в делюксмапу. А свет от остальных лампочек и радиосити во вторую страницу в обычном виде. Вопрос в том, не полезут ли артефакты от билинейки.

Добавлено 06-12-2021 в 00:57:

Цитата:
Дядя Миша писал:
Битовая маска в шейдере, брр.

Это ты еще не читал про тайловый биннинг в колде и думе этернал.


Отправлено Дядя Миша 06-12-2021 в 06:14:

Цитата:
ncuxonaT писал:
Это ты еще не читал про тайловый биннинг в колде и думе этернал.

Я прекрасно помню, как в 2014-м году тоже вот решил, что у всех видеокарты уже поддерживают работу с целыми числами и вставил флаги в параною.

Цитата:
ncuxonaT писал:
у меня была мысль записать в одну страницу лайтмапы индексы трех самых ярких лампочек

Мы не можем гарантировать, сколько лампочек нам попадётся. От сеттинга зависит. В сталкере на каждый пиксель обычно не более двух ламп приходится - солнце + костёр. В халфе наоборот, может и 190 лампочек быть на пиксель, радиосити же. В параное ведь есть этот механизм, попробуй с ним что-то сделать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 06-12-2021 в 07:00:

Цитата:
Дядя Миша писал:
В параное ведь есть этот механизм, попробуй с ним что-то сделать.

О каком механизме речь?


Отправлено Дядя Миша 06-12-2021 в 10:31:

Номера лайтов пишутся в в сурфейс и передаются дальше в шейдер.
Оно используется для отложки, но и с лайтмапами думаю можно что-то придумать. Например сохранять в лайтмапу только тень, а свет считать в реалтайме, будет хороший бамп.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 06-12-2021 в 14:13:

Цитата:
XaeroX писал:
FiEctro
Добавь ещё диффузку, нормалмапу, хейтмапу, глоссмапу. И 8 делюксмап, которые объединяются менее тривиально, чем лайтмапы, т.к. там векторы.


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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 06-12-2021 в 17:46:

Радиосити заметно всегда. Исключение разве что луч от фонарика, да и то в силу привычки.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 07-12-2021 в 06:55:

Дядя Миша
Для наметаного глаза конечно. Но игрокам как правило - пофигу.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 11-12-2021 в 20:02:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 11-12-2021 в 20:20:

Та просто надо разворачивать нормально. Был бы нормальный развертывальщик, не было бы проблем.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 12-12-2021 в 06:52:

Цитата:
FiEctro писал:
Та просто надо разворачивать нормально.

В Квваке НИЧЕГО не разворачивается. Там вообще можно каждый треугольничек осветить отдельно и швов всё равно не будет.

Добавлено 12-12-2021 в 09:50:

Цитата:
FiEctro писал:
Был бы нормальный развертывальщик

А не будет нормального развёртывальщика. Всегда останется куча ситуаций, которые невозможно обработать. Бочка, например, где лайтмапа обвёрнута вокруг нее и всегда будет один шов. Ты никак это не разрулишь.
Можно замазать, но замазка тоже не всегда справляется.

Добавлено 12-12-2021 в 09:52:

Потому что случится ситуация, когда у тебя с одной стороны шва - тень, а с другой свет. Вот точно так ложится. Довольно частая ситуация. И если там замазать, то получится серая полоса.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 12-12-2021 в 10:48:

Всмысле не разворачивается? А куда он лайтмапу накладывает?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 12-12-2021 в 12:12:

Да очень просто. Вот сторона у браша это и есть кусок лайтмапы.
И как ты помнишь, если эта сторона сильно длинная, он еще и наборот её сечёт на кусочки, по 240 юнитов. В то время когда современный унвраппер наоборот старается сделать как можно более длинную секвенцию из треугольников, Квака еще и дополнительно режет. И швов - нет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 12-12-2021 в 12:41:

Т.е. на каждый полигон своя развертка? А не сильно ли это будет жрать ресурсы на картах со сложной геометрией? В квейке то они довольно простые. И разве сейчас голдсорс не делает тоже самое? Да и вообще конечно плодить на пустом месте лишние полигоны идея мягко говоря криповая.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 12-12-2021 в 14:06:

Цитата:
FiEctro писал:
Т.е. на каждый полигон своя развертка?

Да, именно так. Но в кваке по большей части полигоны квадратные, хотя треугольники тоже попадаются.

Цитата:
FiEctro писал:
А не сильно ли это будет жрать ресурсы на картах со сложной геометрией?

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 12-12-2021 в 14:14:

Дядя Миша
Так, а вкратце можно? Что за магия там творится? К чему эта интрига?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 12-12-2021 в 17:57:

Не то чтобы в ку1 не было швов на лайтмапах.
https://i.imgur.com/42obDDf.jpghttps://i.imgur.com/a8tYx0N.jpg
https://i.imgur.com/OTdiof2.jpghttps://i.imgur.com/aRBGCY9.jpg
https://i.imgur.com/oaU4Duu.jpg


Отправлено Дядя Миша 12-12-2021 в 18:33:

ncuxonaT остаётся удивляться, что с PCF2x2 они столь редко вылазят.
Ведь он же сдвигает всё нахрен куда-то вправо и вниз.
Включи проволку и посмотри сколько там полигонов, а швы ну дай бог чтобы где-то в уголку вылезли и то скромно.

Добавлено 12-12-2021 в 21:27:

Кстати шов на левой стороне арки - самая мерзкая пакость. Как с этим бороться, я даже не представляю. Его вообще не должно быть.

Добавлено 12-12-2021 в 21:33:

Кстати, на этих скринах очень хорошо видно, как PCF сдвигает свет.
В реале всё освещение точно по центру дверей, в игре оно сдвинуто на люксель. Потом в кастомных компиляторах уже PCF3x3 сделали и проблема ушла.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 12-12-2021 в 19:32:

Понятно, я так понимаю лучше ручной развертки ничего нет.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 06-01-2022 в 04:22:

Решил я сверить лайтбейкер с блендером, и что бы вы думали, даже без глобалки есть расхождение. Сцена с одной лампочкой, яркость вроде бы выставлена одинаковая, но в блендере мало того что свет будто сильнее затухает, так еще и в темных участках уплывает оттенок. А причина этого простая - блендер делает гамма-коррекцию не возведением в степень 1.0 / 2.2, а в соответствии с формулой из стандарта sRGB:

Поэтому, если вы запекаете лайтмапы в блендере, убедитесь, что у вас в движке они переводятся в линейное пространство по формуле из sRGB. Ну или найдите, как в блендере сохранить текстуру с гаммой 2.2. Я вот не нашел.

https://i.imgur.com/xxI0otP.jpg https://i.imgur.com/PxE7wsK.jpg


Отправлено Дядя Миша 06-01-2022 в 07:39:

А что, Блендеровская запекалка может рассматриваться как референс?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 06-01-2022 в 17:58:

Может, она же физически корректная

Добавлено 06-01-2022 в 20:58:

Вроде разобрался, как блендере сохранять с гаммой 2.2. Ну что, лайтбейкер с сусликом совпадают практически один к одному.
https://i.imgur.com/OI8KXL1.png https://i.imgur.com/C6SJ0d7.png


Отправлено FiEctro 06-01-2022 в 18:58:

Цитата:
ncuxonaT писал:
Вроде разобрался, как блендере сохранять с гаммой 2.2.


А как?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 06-01-2022 в 19:43:

Цитата:
ncuxonaT писал:
Ну что, лайтбейкер с сусликом совпадают практически один к одному.

А теперь самый главный вопрос - зачем нужен лайтбейкер, если он копирует функционал суслика?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 06-01-2022 в 20:15:

Цитата:
Дядя Миша писал:
А теперь самый главный вопрос - зачем нужен лайтбейкер, если он копирует функционал суслика?


Ну как минимум запекает в несколько раз быстрее + изкаробки поддерживает ссбамп лайтмапы и делюксмапы. В блендере тебе нужно их настраивать самостоятельно.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено SNMetamorph 06-01-2022 в 21:27:

Цитата:
ncuxonaT писал:
Решил я сверить лайтбейкер с блендером, и что бы вы думали, даже без глобалки есть расхождение. Сцена с одной лампочкой, яркость вроде бы выставлена одинаковая, но в блендере мало того что свет будто сильнее затухает, так еще и в темных участках уплывает оттенок. А причина этого простая - блендер делает гамма-коррекцию не возведением в степень 1.0 / 2.2, а в соответствии с формулой из стандарта sRGB:

Поэтому, если вы запекаете лайтмапы в блендере, убедитесь, что у вас в движке они переводятся в линейное пространство по формуле из sRGB. Ну или найдите, как в блендере сохранить текстуру с гаммой 2.2. Я вот не нашел.

https://i.imgur.com/xxI0otP.jpg https://i.imgur.com/PxE7wsK.jpg

Таки да, в "Moving Frostbite to PBR" писали что эта степенная функция с переводом из sRGB в линейное и обратно - плохая аппроксимация.
Особенно это на тёмных участках решает

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord


Отправлено ncuxonaT 07-01-2022 в 02:43:

FiEctro в color management выставить вот так


Для нового изображения выставить color space - linear и галку float buffer


Для уже существующего изображения поставить color space - linear


В окне Save As поставить галку save as render. И сохранять в 16 бит, потому что, если сохранить в 8 бит, то при последующих запеканиях блендер и считать всё будет в 8 битный буфер.


SNMetamorph с одной стороны, мониторы у всех в сргб откалиброваны, значит надо считать по правильной формуле. С другой стороны, при правильной формуле в тенях уплывает оттенок.


Отправлено ncuxonaT 07-01-2022 в 14:46:

Цитата:
Дядя Миша писал:
А теперь самый главный вопрос - зачем нужен лайтбейкер, если он копирует функционал суслика?

Фиэктро ответил, не знаю, что еще добавить.


Отправлено Дядя Миша 07-01-2022 в 16:32:

Суслик на CPU считает? Почему твой быстрее?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 07-01-2022 в 18:39:

Дядя Миша
На ГПУ тоже может.
Наверное потому что в блендере сложная физически корректная система материалов, которую он пытается просчитать. Там всякие отражения, подповерхностные рассеиния и т.п. Плюс он буквально ставит камеру напротив каждого полигона и запекает его как отдельный рендер, это вроде как нужно чтобы запекать хайполи в нормали для лоуполи, но не очень эффективно для запекания лайтмап.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 07-01-2022 в 19:27:

Дядя Миша я не знаю, как устроен гпу рендер в суслике, поэтому не могу сказать. Наверное, считать всё во фрагментном шейдере быстрее, чем как-то иначе. И я кстати не замечал большой разницы в гпу и цпу режимах суслика при запекании текстур. При рендере да, гпу быстрее в несколько раз. Может быть, в последней версии что-то изменилось, но моя видеокарта теперь не поддерживается.
Плюс в лайтбейкере по умолчанию включен ускоренный режим - вместо нескольких боунсов с расчетом прямого освещения на каждом отскоке делается один боунс и читается текущее содержимое лайтмапы. Вот я сейчас занимаюсь тем, чтобы ускоренный режим выдавал результат близкий к честному расчету.

Цитата:
FiEctro писал:
Там всякие отражения, подповерхностные рассеиния и т.п.

Я отключаю все боунсы кроме диффузных, когда сравниваю лайтмапы. Ну и с отражениями мой рейтресер все равно намного быстрее рендерил.
Цитата:
FiEctro писал:
Плюс он буквально ставит камеру напротив каждого полигона и запекает его как отдельный рендер

Это ты сам придумал.


Отправлено Дядя Миша 07-01-2022 в 20:12:

Цитата:
FiEctro писал:
Наверное потому что в блендере сложная физически корректная система материалов, которую он пытается просчитать

Но Психопат настаивает, что у него тоже всё физически корректно.

Цитата:
FiEctro писал:
Плюс он буквально ставит камеру напротив каждого полигона и запекает его как отдельный рендер

Ну а как еще через растеризацию по твоему лайтмапы рендерить? Это же не CUDA.

Цитата:
ncuxonaT писал:
вместо нескольких боунсов с расчетом прямого освещения на каждом отскоке делается один боунс и читается текущее содержимое лайтмапы

q3map2 так делает. Так причём тут unbiased?

Добавлено 07-01-2022 в 23:08:

Цитата:
ncuxonaT писал:
вместо нескольких боунсов с расчетом прямого освещения

Спавнишь лампочки для каждого баунса? Этот алгоритм идеально ложится на растеризацию, но unbiased тут и не пахнет. Я уже молчу насчёт того, что спавн по полусфере - рандомный. Я подобное даже не рассматриваю.

Добавлено 07-01-2022 в 23:12:

У меня есть рабочая схема, как просчитать радиосити с тем же разрешением, что и прямой свет, и ЧСХ это даже уложится по потреблению в <= 3GB, но блин дико долго. На SSE его перевести чтоле.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 07-01-2022 в 20:22:

Цитата:
Дядя Миша писал:
Спавнишь лампочки для каждого баунса? Этот алгоритм идеально ложится на растеризацию, но unbiased тут и не пахнет.

Это вообще не похоже на то, что я делаю, но мне теперь интересно услышать полную версию алгоритма, который ты придумал. Со спавном лампочек и растеризацией, как оно должно работать?
Цитата:
Дядя Миша писал:
q3map2 так делает. Так причём тут unbiased?

Не знаю, что там делает q3map2, но почему не unbiased?


Отправлено FiEctro 07-01-2022 в 22:24:

Цитата:
ncuxonaT писал:
Это вообще не похоже на то, что я делаю, но мне теперь интересно услышать полную версию алгоритма, который ты придумал. Со спавном лампочек и растеризацией, как оно должно работать?


Наверное в месте пересечения луча с плоскостью спавнит лампочку чтобы имитировать отражение света в этом месте. Наверное так шума будет меньше.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 07-01-2022 в 22:39:

Цитата:
FiEctro писал:
Наверное в месте пересечения луча с плоскостью спавнит лампочку чтобы имитировать отражение света в этом месте. Наверное так шума будет меньше.

Это называется Instant radiosity:
http://www.cs.cornell.edu/courses/c...ntRadiosity.pdf
Такие виртуальные лампочки плодят яркие пятна на ближайшей геометрии. Давить эти пятна - тот еще геморрой:
https://cs.uwaterloo.ca/~thachisu/evplp.pdf

В мицубе есть рендер на виртуальных лампочках, можете скачать-посмотреть, он по умолчанию как раз его использует во вьюпорте.
https://www.mitsuba-renderer.org/index_old.html

У меня классический трассировщик путей.


Отправлено Дядя Миша 08-01-2022 в 06:45:

Цитата:
ncuxonaT писал:
но мне теперь интересно услышать полную версию алгоритма, который ты придумал

Это не я придумал. Это в q3map2 так устроено.

Цитата:
FiEctro писал:
Наверное в месте пересечения луча с плоскостью спавнит лампочку

равномерная сетка лампочек на геометрии.

Цитата:
ncuxonaT писал:
Такие виртуальные лампочки плодят яркие пятна на ближайшей геометрии.

может ренормализация энергии не была сделана?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 10-01-2022 в 18:10:

Всё, я придумал, как сделать, чтобы в быстром режиме лайтбейкер запекал так же, как при честном расчете. В быстром режиме даже меньше шума получается почему-то.
https://i.imgur.com/C1vNQ9M.png https://i.imgur.com/9XOUhqK.png


Отправлено FiEctro 10-01-2022 в 18:29:

ncuxonaT
А как?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 10-01-2022 в 19:52:

ncuxonaT объясни, почему у тебя лайтмапа чайника размером со стену как ты высчитываешь их разрешение? Адаптивно?

Добавлено 10-01-2022 в 22:52:

Цитата:
ncuxonaT писал:
Всё, я придумал, как сделать, чтобы в быстром режиме лайтбейкер запекал так же, как при честном расчете. В быстром режиме даже меньше шума получается почему-то.

помоему обычный режим больше не нужен

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 10-01-2022 в 20:25:

Цитата:
Дядя Миша писал:
ncuxonaT объясни, почему у тебя лайтмапа чайника размером со стену как ты высчитываешь их разрешение? Адаптивно?


Да просто пишется в текстуру с уже известным разрешением.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ncuxonaT 10-01-2022 в 21:29:

Цитата:
FiEctro писал:
А как?

Раньше свет с каждым семплом понемногу прибавлялся и накапливался, а теперь сразу считается в полной яркости и блендится, сначала много шума, постепенно уменьшается.
Цитата:
Дядя Миша писал:
объясни, почему у тебя лайтмапа чайника размером со стену как ты высчитываешь их разрешение? Адаптивно?

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


Отправлено Дядя Миша 11-01-2022 в 07:38:

Цитата:
ncuxonaT писал:
Никак разрешение не высчитываю, ставлю какое хочу.

а куда ты его ставишь? В атрибуты треугольника? Материал-то там один на всю сцену.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ncuxonaT 11-01-2022 в 16:03:

Дядя Миша я сделал развертку всего меша в 3дмаксе. В лайтбейкере ставлю - запекать лайтмапу в разрешении 1024х1024. Лайтбейкер не производит никаких манипуляций с разверткой, не пакует атласы.


Отправлено Дядя Миша 11-01-2022 в 18:18:

Ну т.е. вручную отскейлил, как хотел? Понятно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 14-01-2022 в 04:34:

Цитата:
SNMetamorph писал:
Таки да, в "Moving Frostbite to PBR" писали что эта степенная функция с переводом из sRGB в линейное и обратно - плохая аппроксимация.
Особенно это на тёмных участках решает

Так она писалась на ЭЛТ мониторах с другой гамма-кривой, может быть для них она была корректна?


Отправлено Дядя Миша 14-01-2022 в 08:51:

Crystallize на ЭЛТ-мониторах тоже был sRGB.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 05:04.
Показать все 319 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024