HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (240): « Первая ... « 126 127 128 129 [130] 131 132 133 134 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Неудивительно отчего в халфе такое освещение всратое.
Оно там сначала клипается, а уже потом умножается на гамму.
Чёрт его знает как оно после этого выходит за границы Byte.
Главное и у меня в P2St точно так же. Я этот момент вообще не трогал.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199399

Старое сообщение 23-12-2020 12:15
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Но на гамму нужно не умножать, а возводить в степень

Сообщить модератору | | IP: Записан
Сообщение: 199401

Старое сообщение 23-12-2020 13:47
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



ncuxonaT ну я выразился немного некорректно. Я про последовательность действий.

Опробовал VTF для симуляции повертексного освещения. Ну как я и предполагал - всё сработало отлично. На ландшафте, понятное дело, всё превратилось в пятна, на ёлках-соснах в целом без особых изменений.
Но есть два момента. Во первых фпс упал почти на 1/8. Т.е. было 800 фпс, стало 700. Может быть это GT640 не слишком любит VTF.
Второй важный момент - повертексное тут не решит ничего, потому что для лайтмапы и для вертекса, во всяком случае на граничных точках, считаются те же самые позиции, те же самые нормали и та же самая окклюзия.
То есть повертексное само по себе тут разве что уберёт швы на лайтмапе, а больше от него толку не будет. А на деревьях нам надо рассчитать нормали по полусфере или взять какой-то зазор у источника света, ну халф-ламберт или что-то такое. Но с нормалями вообще тяжко. Они как правило невалидные все, мусор. Редко-редко когда попадется модель с исправными.
Я полагаю, чем генерить для листвы эти хитрые нормали, проще в материал дать подсказку. Ну то потом.

Добавлено 23-12-2020 в 19:15:

Набрался хабразде и решил повторить подвиг Элбера - собрать объединённую ЧАЭС из двух карт. Но, т.к. редакторами я не владею, решил пообъединять их в блокноте, посмотрел и понял, что это довольно-таки просто сделать. Пропсы на двух картах не пересекаются, а значит можно смело добавлять их в одну. Террайн взял тот, что поподробнее, проблема только в статик меше, то что есть в одном - отсутствует в другом.
Добавил сразу оба, а в компилятор ввёл проверку на дублирующуюся геометрию. Чтобы он мне просто повыкидывал лишние полигоны с этого же места. И это таки сработало! Собралась такая карта, весит 132 мегабайта.
Причём потребление компилятора во время работы не превысило даже 1 гигабайт, а ведь это пожалуй самая гигантская карта из всех, даже в лост-альфе нет такого ужоса. Всё прекрасно скомпилилось, правда свет я не считал еще.

Добавлено 23-12-2020 в 20:48:

Кстати, к вопросу о швах. Вот пример шва:


Кажется что всё ужасно. Но давайте включим диффузку.


А если посмотреть с другого ракурса, становится понятна и причина:


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

Добавлено 23-12-2020 в 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'

Сообщить модератору | | IP: Записан
Сообщение: 199402

Старое сообщение 23-12-2020 17:50
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Ну вот, если кому-то интересно, как выглядит повертексное через VTF



Добавлено 24-12-2020 в 09:57:

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

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199411

Старое сообщение 24-12-2020 06:57
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Неудивительно отчего в халфе такое освещение всратое.

И ты ещё говорил что там индирект ядовитый. Хотя я лично ни того ни другого не замечал.

Сообщить модератору | | IP: Записан
Сообщение: 199412

Старое сообщение 24-12-2020 08:31
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Подшаманил мержинг сурфейсов, теперь ЧАЭС собирается 20 минут вместо часа. Причём 16 минут - это построение атласа. Очень уж этот уголок тормозной даже удивительно. Надо бы с этим что-то сделать.
Но тут двояко. Любой модный прогрессивный алгоритм с эвристикой чую будет работать еще дольше, сталкеровское попиксельное построение атласа вообще дико медленное, вот и фиг знает что его делать.

Добавлено 24-12-2020 в 13:58:

Кстати у меня тут есть одна любопытная идейка насчёт Кармаковского алгоритма, надо будет проверить.

Добавлено 24-12-2020 в 14:00:

Цитата:
Crystallize писал:
И ты ещё говорил что там индирект ядовитый. Хотя я лично ни того ни другого не замечал.

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

Добавлено 24-12-2020 в 15:52:

Запустил ради интереса свет на объединённой ЧАЭС (это походу будет устоявшийся термин, ну навроде как объединённая Каста), думал он весь день считать будет, однако за час управился. Ну теперь чаэс настоящая, а не то что там Элбер клеил вручную, 4 миллиона полигонов! Только травы нехватает для полного щастья, ну это потом уже.





Тут еще вот какое дело. Во первых одна лайтмапа под террейн 2048х2048 явно недостаточна. Тут размер карты 60 х 90 килоюнитов. Но это предел для самого иксрея, он не генерит лайтмапы большего разрешения. Не потому что не может, скорее сознательное ограничение для совсем древних карточек. Сталкер-то по современным меркам способен на лютом хламе запускаться.
Второй важный момент - если лайтгруппа не влезает в атлас, я её рескейлю вниз, а икс-рей делит на две части. Это принципиальная разница в подходе. Так что кое-где у меня тень может размыться внезапно. Может потом переделаю. Для меня сейчас самое главное - это стресс-тесты. Компилятор должен сожрать все карты из лост-альфы и уложиться в 32-х битные лимиты по потреблению памяти. Пока ему это очень хорошо удаётся, к примеру создание карты отняло всего-навсего 700 мегабайт, а лайтмаппер зохавал 1.5 гигабайта, а ведь это одна из самых гигантских карт.

Добавлено 24-12-2020 в 17:39:

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

Следующий этап - автоматические прогрессивные мешы. Возьму из сталкера тоже реализацию, а там она, как я понял от Tom Forsyth.
Собственно, чем прогрессивные мешы отличаются от обычных лодов?
Лоды требуют собственные вертексы, для них нужна собственная развертка, для них поидее требуется новая развертка лайтмапы, это тихий ужос.
Прогрессив-мешы наоборот, коллапсят исходный меш таким образом, чтобы всегда используя уже имеющиеся вертексы образовывать новые валидные треугольники, то есть в таком вот меше поменяется только набор индексов, а вертекс-дата останется неизменной. И в этом громадный плюс такого подхода. К тому же их можно и нужно использовать и для персонажей тоже.
Единственное с чем я пока не определился - нужны ли импосторы. С одной стороны, если у тебя ТЛез32 это единственный способ удержать производительность, с другой, они не в юниформе, то есть были мешы-мешы и вдруг - вот такая хрень. В самом сталкере, как я понял их чуть ли не вручную расставляют в местах нахождения деревьев и прочих пропсов. Плюс им нужна эта текстура - вид с восьми углов. Плюс с высоты они понятно как будут выглядеть (по этой же причине, к слову в дууме и прыгать не дают игроку). Так что пока введу прогрессивные мешы и будем дальше думать. Скажу, к примеру, что ЧАЭС с угла максимального обзора, когда в кадре все четыре миллиона полигонов на GT640 у меня выдаёт 49 фпс. Так что в целом не всё так уж и плохо даже совсем без лодов. Но с ними должно стать совсем хорошо.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199413

Старое сообщение 24-12-2020 14:39
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



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

Это интересный способ найти люксели которые лежат на границе теней. Можно как-то использовать для их сглаживания.

Сообщить модератору | | IP: Записан
Сообщение: 199414

Старое сообщение 24-12-2020 14:40
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Crystallize ты про edge-detection совсем ничего не слышал?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199415

Старое сообщение 24-12-2020 14:41
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:

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

Но почему? Как это работает?

Какое суммарное разрешение лайтмапы получилось?

Сообщить модератору | | IP: Записан
Сообщение: 199416

Старое сообщение 24-12-2020 16:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
ncuxonaT писал:
Но почему? Как это работает?

Я сам вот удивился, но у меня и без того хлопот полон кот, некогда разбираться, потом.

Цитата:
ncuxonaT писал:
Какое суммарное разрешение лайтмапы получилось?

на чаэс? да фиг его знает. 40 страниц 1024х1024 + ландшафт 2048х2048.
На болотах из чистого неба, получилось 82 страницы, но там пропсов аж 5 тысяч, а на чаэс - всего 500. И болота 2.5 часа считались.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199417

Старое сообщение 24-12-2020 18:09
-
KorteZZ
Lambda

Дата регистрации: Oct 2009
Проживает: Mongolia
Сообщений: 377
Возраст: 36

Рейтинг



А чего это скрины такие мелкие? Даешь FHD!

__________________

Killing Floor: Horzine Outbreak

Сообщить модератору | | IP: Записан
Сообщение: 199435

Старое сообщение 25-12-2020 11:34
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Внедрил прогрессив-мешы. Спорная штука. Во первых она почти не поддаётся контролю. На параметры реагирует слабо. Во вторых, она сама решает насколько меш может быть симплифицирован, вот на одних прямо втрое получается, а на других - дай бог чтобы на 20%.
Не угадаешь. От топологии вероятно зависит. В некоторых случаях вообще полный фейл, т.е. работа проделана, а симплификации - нет.
Но результат в целом очень деликатный. Одно скользящее окно удаляет из исходного меша 1 вертекс, поэтому заметить деградацию с расстоянием игроку невозможно в принципе, как бы он не присматривался. Другое дело, что в среднем такие лоды снижают поликаунт ну максимум на треть, даже не вдвое. Ну я еще потыкаю, может сделаю алгоритм более агрессивным.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199439

Старое сообщение 25-12-2020 14:18
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

Добавлено 26-12-2020 в 13:34:

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

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199451

Старое сообщение 26-12-2020 10:34
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



Цитата:
Дядя Миша писал:
если юзер прямо создал крутую текстурную развертку

Крутую это какую?

Сообщить модератору | | IP: Записан
Сообщение: 199452

Старое сообщение 26-12-2020 13:35
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



nemyax без самопересечений, без дегенеративных UV-островков.

Добавлено 26-12-2020 в 19:34:

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

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

Кстати, насчёт завершения истории с прогрессив-мешами.
У меня тут, собственно, было два варианта. Bunnylod от Stan Melax, ну вы его все видели. И jmspmesh от Jeff Somers. второй - это вьювер с четырьмя самыми известными методами - QEM, QEM weighted by area, реализация от Stan Melax и shortest path (не знаю кто автор).
QEM и QEM weighted by area представлены так же библиотекой qSlim.

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

Добавлено 26-12-2020 в 22:40:

Кстати. Shortest Edge, это нечто навроде метода от Stan Melax, только еще проще - без учёта курватуры. Как говорится, уже тупее некуда - выкидывается самое короткое ребро. Там вообще математики нет, если не считать VectorLength. Я этот метод опробывал тоже, слегка доработав реализации BunnyLod. И знаете - мне понравилось. И даже очень.

Добавлено 26-12-2020 в 22:52:

Минималка, 30% от исходного меша. Если ниже, то там уже полная дигродацыя начинается.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 199454

Старое сообщение 26-12-2020 19:52
-
Тема: (Опционально)
Ваш ответ:



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


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 15:45. Новая тема    Ответить
Страницы (240): « Первая ... « 126 127 128 129 [130] 131 132 133 134 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024