FiEctro писал: Вообще откуда могут быть Т-Джунки если компилятор больше не режет геометрию под лайтмапу?
Цитата:
Дядя Миша писал: Исторически T-соединения возникают при брашворке. При моделлинге они возникать не должны (хотя и могут).
Добавлено 22-06-2024 в 23:51:
Цитата:
FiEctro писал: Вообще откуда могут быть Т-Джунки если компилятор больше не режет геометрию под лайтмапу?
Откуда Т-Джунки в Q3, где компилятор больше не резал геометрию под лайтмапу? Откуда Т-Джунки в Doom3, там и лайтмапы-то никакой не было.
Добавлено 22-06-2024 в 23:55:
Цитата:
FiEctro писал: Так, а как решил то?
Запретил добавлять эти треугольники в рейтрейсер и запретил их добавлять при сглаживании швов между соседними лайтмапами. Они сами по себе настолько тонкие, но что на них никаких артефактов не видно и видно быть не может. Правда если оставить их без освещения, то на показе лайтмапы вылезут тонкие чёрные линии - это как раз вот они и есть, те самые треугольники. Проблема собственно была в том, что они связаны с родительским треугольником и это препятствовало правильному сглаживанию швов. Ну и коллизия с дегенератом оставляла на лайтмапе гигантскую чёрную тень - люксели-то большие.
Добавлено 23-06-2024 в 00:02:
Визуализировал Т-соединение (красным) и дегенерата, который его маскирует (синим).
Добавлено 23-06-2024 в 00:04:
Смысл не просто в том, чтобы заспавнить такой треугольник, а в том, что у него шаренные вертексы с верхним полигоном, т.е. при отрисовке эта секвенция не прерывается. Мерцающие точки лезут как раз в центре соединения, поэтому, хотя такой треугольник не закрывает "щель" полностью, проблема успешно решается. Щель в кавычках, потому технически щели там нету.
Добавлено 23-06-2024 в 00:06:
В старых квейках делалось красиво. Верхнему полигону просто добавляли этот вертекс как раз в точке Т-соединения, т.е. у него становилось пять вертексов вместо четырёх (я условно не стал делить полигоны на треугольники) и на этом как бы и всё.
Дядя Миша писал: В старых квейках делалось красиво. Верхнему полигону просто добавляли этот вертекс как раз в точке Т-соединения, т.е. у него становилось пять вертексов вместо четырёх (я условно не стал делить полигоны на треугольники) и на этом как бы и всё.
Кстати да, тоже подумал об этом, почему просто ребро не разбивать на 2 и потом n-гон разбить на треугольники ну и смержить эти вертексы?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Кстати да, тоже подумал об этом, почему просто ребро не разбивать на 2 и потом n-гон разбить на треугольники ну и смержить эти вертексы?
у меня процессор геометрии может оперировать только треугольниками.
По большому счёту разницы нет.
FiEctro писал: Кстати да, тоже подумал об этом, почему просто ребро не разбивать на 2 и потом n-гон разбить на треугольники ну и смержить эти вертексы?
Чтож, я рассудил, что лучше помогать генерации лайтмапы, чем плодить длинные тонкие полигоны и внял твоему совету. Делю исходный треугольник на два, безо всяких оффсетов. Этот метод правда гораздо хуже борется с т.н. Sparkle Points, т.е. искрящимися точками, но в деле построения лайтмапы он наоборот здорово помогает, лайтмапа стала ещё более гладкой и бесшовной, т.к. обмотка ищет соседей, а когда соседей нет - пытается найти так же через смежные рёбра. Но теперь это получается гораздо лучше, т.к. не нужна двойная рекурсия, с накопительством.
Дядя Миша
Ого здорово. А можешь показать как выглядят эти Sparkle Points?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Ну просто такие точки, за которыми цвет очистки экрана. Если отключить gl_clear то их невидно. Да и они тоже не всегда видны, иногда как бы вспыхивают под определённым углом. Запусти порт кваки, стартовую карту, пробеги вперёд до центрального туннеля, повернись на 180 градусов и поводи камерой туда-сюда, увидишь их некоторое кол-во.
Дядя Миша
А у тебя наверное вертексы не сшиваются? Типа погрешность координат с плавающей точкой? Я просто конвертировал халфовские карты в модели и там реально дырки по всюду, в том плане что вертексы не сшитые да вот на тех же Тджунках например. Правда я не знаю может это сам конвертер такое накосячил но такая топология крайне неудобна для редактирования. Если такую топологию делает и компилятор то я не удивлён откуда лезут все косяки с лайтмапой.
Кстати я заметил что на втором скриншоте будто шума стало меньше, интересно как это взаимосвязано.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: А у тебя наверное вертексы не сшиваются?
На т-джунках-то? Сшиваются, почему.
Цитата:
FiEctro писал: Кстати я заметил что на втором скриншоте будто шума стало меньше, интересно как это взаимосвязано.
Там где исчез тджунк появилась шаренная нормаль. И вместо искуственной замазки шва - пошло ровное освещение. Но вообще похабная лайтмапа - это чисто фишка ку1 и бокс-фильтра. Если поставить гаусс-фильтр будет всё гладко изкаробки. Но тогда это не будет квака, блин!
Лайтмапа на 2 картинке выглядит лучше именно в тех местах где яркость близка к максимальной. Можно посчитать оба варика и отобрать из обоих самые лучшие пиксели
Меня больше удивляет почему пятна от лампочек шестиугольные Результат интерполяции пикселей?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Это бокс-фильтр. Такой же использовался в оригинальной кваке. Цитата из документации:
Цитата:
#lmfilter <type> - Параметр для build_light. Игнорируется build_level. Режим фильтрации световых карт (только прямой свет). В качестве параметра допускается три ключевых слова: "box", "gauss" и "none". Любое другое значение включает режим по умолчанию, размытие по Гауссу.
Добавлено сегодня в 11:21:
Я мог бы добавить фильтров ещё, но ни разу не видел, чтобы использовались какие-то отличные от этих двух.