При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Paranoia 2: Savior
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.08.2018, 18:16  #41
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша: value * 127.5 + 127.5
ncuxonaT вне форума Ответить с цитированием
Старый 29.08.2018, 18:46  #42
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 ncuxonaT: буду юнит-тесты делать вообщем.

Дядя Миша, подумав, добавил 29.08.2018 в 20:46
2 ncuxonaT: твой вариант тоже неправильный, хех.

Последний раз редактировалось Дядя Миша, 29.08.2018 в 20:46.
Дядя Миша вне форума Ответить с цитированием
Старый 30.08.2018, 02:30  #43
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша: я, если честно, вообще не понял, о чем речь, и написал от балды. Дай больше входных данных
ncuxonaT вне форума Ответить с цитированием
Старый 30.08.2018, 02:46  #44
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 ncuxonaT: диапазон от -1 до +1 перегнать в byte. Впрочем я уже решил задачку.
Дядя Миша вне форума Ответить с цитированием
Старый 01.09.2018, 01:48  #45
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Хотел сегодня показать свежих скриншотов, но пока не выходит - экспериментирую.
Дядя Миша вне форума Ответить с цитированием
Старый 01.09.2018, 02:02  #46
ncuxonaT
ncuxonaT
Подполковник
Регистрация: 05.05.2013
Сообщения: 1,149


По умолчанию

2 Дядя Миша: а почему мой вариант не правильный?
ncuxonaT вне форума Ответить с цитированием
Старый 01.09.2018, 03:03  #47
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 ncuxonaT: потому что на значениях близких к нулю инвертирует знак. По итогам всю нормаль разворачивает на 180 градусов. Это говно было абсолютно повезде. От него же и черные пятна на делюксмапе. Ну и не только это.
Единственный правильный вариант 127 * 128.
Дядя Миша вне форума Ответить с цитированием
Старый 01.09.2018, 14:48  #48
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: Одна светящаяся текстура = 1 лампочка тоже.
Будут ли свет и тень от неё блуриться в соответствии с её формой?
crystallize вне форума Ответить с цитированием
Старый 01.09.2018, 14:56  #49
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 crystallize: можно потом заблурить весь кадр.
Дядя Миша вне форума Ответить с цитированием
Старый 01.09.2018, 15:56  #50
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

[ Цитата ] Сообщение от FiEctro: Это было бы актуально если бы эта фича писалась для движка или ксашмода, но какие "сотни миллиардов карт" были сделаны под параною?
Можно где-то вообще посмотреть как эта "правильная" модель освещения выглядела бы на голдсорсе в сравнении с текущей?
Да и для движка и ксашмода аргумент про "сотни миллиардов карт" не работает. Я так понимаю, аргумент Дяди Миши в том, что даже если модель освещения будет более правильной, никого не будет это волновать, она типа просто другая и это непривычно и плохо. Но для кого это актуально? Для тех кто сейчас в процессе создания карт для своего проекта-вообще, и для хоррор-проектов в особенности. Для тех кто по каким-то причинам любит переосвещать уже скомпиленные карты. Но от этих людей никто не требует отказаться от их любимых компиляторов, особенно посреди разработки. Вообще не очень понятно, на всём протяжении от QRAD до VHLT34 постоянно исправлялись какие-то ошибки, начиная от удвоенной яркости солнца и заканчивая тем что сделал ДМ. ДМ сам выкладывал цепочки скринов в тестовой теме, и они все разные, буквально с каждой версией меняется освещение.
crystallize вне форума Ответить с цитированием
Старый 01.09.2018, 16:35  #51
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Я вам сейчас скажу такую новость, от которой у многих пригорит капитально.
Для полноценного динамического освещения, всё равно придётся запускать рад, как если бы вы рассчитывали лайтмапы
Это единственный способ избежать лайтблидинга и достичь высокой производительности. Ну или будете лепить свои окклюдеры как в срузисе и свет всё равно будет течь сквозь стены.
Дядя Миша вне форума Ответить с цитированием
Старый 01.09.2018, 23:49  #52
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Так, ну чтоже. Долгая задержка обусловлена тем, что следующий шаг не всегда заранее известен. Так например, я сохранил лайты в текстуру для удобства, вместо того, чтобы держать их в юниформах. Второй важный момент, как вы помните - необходимо добиться полной визуальной идентичности с лайтмапой, что в свою очередь помогло найти несколько мерзких багов в статичном рендерере, в частности вот эту упаковку нормали, о которой я писал выше.
Ну а теперь продолжим. Самая главная проблема при динамическом освещении - это эффективно задушить те источники света, которые, собственно, не участвуют в освещении. Пока мы пишем демку с одним источником над подобными вещами никто не задумывается. Когда в форках кваки линейные источники делают динамическими, их просто куллят скиссором, а потом всё равно релайтят карту, т.к. в кадре получается слишком много источников. С халфовскими источниками, повторюсь, этот номер не пройдет никоим образом - каждый лайт всегда занимает весь экран. Я уже упоминал про визлайтматрицу. Идея это не новая. Скажем в срузисе стенсил используется для того, чтобы пометить пиксели в кадре, которые освещает солнце, т.е. разделить индор и аутдор. Но в нашем конкретном случае все источники света неподвижны. А значит мы можем себе позволить рассчитать их в компиляторе. Причём не только для мира, но и для env_static. Информация эта полная, она содержит биты видимости для всех источников, которые освещают данный меш\сурфейс. Ну а дальше, как я уже говорил, нам необходимо пометить каждый пиксель номерами тех лайтов, которые его освещают. Поскольку мы используем G-Buffer, нам придется сохранить эти лайты в отдельную текстуру буффера. Отсюда же и вытекает заявленное ограничение на 4 лайта на фейс и 255 лайтов на уровне - текстура формата RGBA8. Скорее всего впоследствии я подыму эти лимиты. т.к. 4 лайтов зачастую нехватает, но это можно будет сделать в любой момент, а пока пусть остаётся так. Главным плюсом использования визлайтматрицы является:
1. заметное ускорение работы рендерера (не рисуются лишние лайты в кадре)
2. отсутствие лайтликов, даже без теней
Недостатки:
1. лайты могут быть только статичные (ну ведь они и так статичные)
2. необходимость передавать номера этих лайтов для каждого пикселя

Ну а теперь обещанные скриншоты. Поскольку освещение очень похоже, иногда можно запутаться где лайтмапа, а где динамика. Обратите внимание на отладочную инфу, там где написано 0 world lights - это лайтмапа.

Следующий этап, как несложно догадаться - это тени. То есть самое интересное.

Дядя Миша, подумав, добавил 02.09.2018 в 02:43
Не знаю будет ли вам интересно, просто когда показываешь освещение, народ видит что разницы почти нет и уныло думает "ну и на кой всё это затевалось?".
Вот как выглядит финальная картинка, например. Бамп включён в обоих случаях.
[ Миниатюры ]
p_savior3_0000.JPG Просмотров: 135 Размер:  37.9 Кбайт  p_savior3_0001.JPG Просмотров: 147 Размер:  42.2 Кбайт  p_savior3_0002.JPG Просмотров: 145 Размер:  35.9 Кбайт  p_savior3_0003.JPG Просмотров: 134 Размер:  36.3 Кбайт  p_savior3_0004.JPG Просмотров: 128 Размер:  55.7 Кбайт  p_savior3_0005.JPG Просмотров: 138 Размер:  57.7 Кбайт  

p_savior3_0006.JPG Просмотров: 129 Размер:  41.1 Кбайт  p_savior3_0007.JPG Просмотров: 128 Размер:  42.4 Кбайт  p_savior4_0000.JPG Просмотров: 116 Размер:  38.9 Кбайт  p_savior4_0001.JPG Просмотров: 121 Размер:  40.5 Кбайт  p_savior4_0002.JPG Просмотров: 131 Размер:  25.9 Кбайт  p_savior4_0003.JPG Просмотров: 127 Размер:  28.9 Кбайт  

p_savior4_0004.JPG Просмотров: 137 Размер:  40.7 Кбайт  p_savior4_0005.JPG Просмотров: 133 Размер:  42.2 Кбайт  p_savior4_0006.JPG Просмотров: 120 Размер:  40.0 Кбайт  p_savior4_0007.JPG Просмотров: 114 Размер:  41.3 Кбайт  p_savior4_0008.JPG Просмотров: 140 Размер:  86.9 Кбайт  p_savior4_0009.JPG Просмотров: 141 Размер:  103.7 Кбайт  

p_savior11_0000.JPG Просмотров: 138 Размер:  39.1 Кбайт  p_savior11_0001.JPG Просмотров: 138 Размер:  38.9 Кбайт  p_savior11_0002.JPG Просмотров: 137 Размер:  54.1 Кбайт  p_savior11_0003.JPG Просмотров: 139 Размер:  52.9 Кбайт  grass_test2_0000.JPG Просмотров: 153 Размер:  183.1 Кбайт  grass_test2_0001.JPG Просмотров: 152 Размер:  223.3 Кбайт  


Последний раз редактировалось Дядя Миша, 02.09.2018 в 02:43.
Дядя Миша вне форума Ответить с цитированием
Старый 02.09.2018, 08:24  #53
SNMetamorph
SNMetamorph
Поехавший
Регистрация: 09.11.2017
Адрес: Помойка
Сообщения: 143


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: Ну а теперь обещанные скриншоты. Поскольку освещение очень похоже, иногда можно запутаться где лайтмапа, а где динамика. Обратите внимание на отладочную инфу, там где написано 0 world lights - это лайтмапа.

Выглядит всё это дело весьма интересно
SNMetamorph вне форума Ответить с цитированием
Старый 02.09.2018, 12:42  #54
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

А effects 16 будет работать?

crystallize, подумав, добавил 02.09.2018 в 12:47
На предпоследней паре скринов при динамике койки освещаются чуть ярче.

Последний раз редактировалось crystallize, 02.09.2018 в 12:47.
crystallize вне форума Ответить с цитированием
Старый 02.09.2018, 15:33  #55
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] койки освещаются чуть ярче
Для статиков применяется сглаживание нормалей, на огнетушителе хорошо видно. Но эти нормали никуда не сохраняются, поэтому динамическое освещение их не использует.
Дядя Миша вне форума Ответить с цитированием
Старый 02.09.2018, 17:13  #56
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 29
Сообщения: 312


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 1. лайты могут быть только статичные (ну ведь они и так статичные)
А как насчёт фонарика игрока и прочих эффектов? Сильно они отличаются от халфовских динлайтов/елайтов? Есть ли в перспективе возможность создавать подвижные источники и цеплять их парент-ситемой куда-нибудь? Важно для вагончиков и прочих поездов и лифтов.

Ku2zoff, подумав, добавил 02.09.2018 в 17:23
Тени от "толстых" объектов выглядят вполне ничего, а вот от "тонких" слишком уж ступенчатые. Это будет исправлено в дальнейшем?

Последний раз редактировалось Ku2zoff, 02.09.2018 в 17:23.
Ku2zoff вне форума Ответить с цитированием
Старый 02.09.2018, 17:37  #57
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

[ Цитата ] Сообщение от Ku2zoff: Тени от "толстых" объектов выглядят вполне ничего, а вот от "тонких" слишком уж ступенчатые. Это будет исправлено в дальнейшем?
Это лайтмапа
crystallize вне форума Ответить с цитированием
Старый 02.09.2018, 19:03  #58
Gaia
Gaia
Чёрный вертолёт
Регистрация: 04.08.2008
Возраст: 33
Сообщения: 4,584
Замечания: 5


По умолчанию

ДМ, что делать если хочется рендерер, и есть куча наработок, которые можно портировать в него, но не хочется параноевских плюх типа худа, пушек, прочего всего?
Gaia вне форума Ответить с цитированием
Старый 02.09.2018, 19:50  #59
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] А как насчёт фонарика игрока и прочих эффектов?
Динамические лайты используют совсем другую формулу затухания, поэтому их не надо отсекать визлайтматрицей.
[ Цитата ] Есть ли в перспективе возможность создавать подвижные источники
Возможность создавать подвижные источники никуда вообщем-то и не пропадала. Но там нет каких-то сложностей, код для них можно написать за 15 минут. поэтому они меня сейчас неинтерисуют. Весь смысл именно в решении непростых задач, а не в демонстрации картинок "смотрите я длайт нарисовал".
[ Цитата ] но не хочется параноевских плюх типа худа, пушек, прочего всего?
так там же пушки полностью скриптовые, можно все позаменять. А в перспективе и монстры такие же будут.

Дядя Миша, подумав, добавил 02.09.2018 в 19:52
ЗЫ. Я кстати подключил сглаживание нормалей для студиомоделей. Так что теперь в динамике модельки тоже будут сглаживаться.

Дядя Миша, подумав, добавил 02.09.2018 в 21:14
Скрины со сглаживанием:
[ Миниатюры ]
p_savior3_0000.JPG Просмотров: 152 Размер:  33.6 Кбайт  p_savior3_0001.JPG Просмотров: 140 Размер:  32.4 Кбайт  

Последний раз редактировалось Дядя Миша, 02.09.2018 в 21:14.
Дядя Миша вне форума Ответить с цитированием
Старый 03.09.2018, 02:16  #60
Ku2zoff
Ku2zoff
Старший сержант
Регистрация: 12.08.2010
Возраст: 29
Сообщения: 312


По умолчанию

[ Цитата ] Сообщение от crystallize: Это лайтмапа
Ах, точно Перепутал надписи на скринах. Где ноль лайтов - динамика же, а я наоборот посчитал...
Ku2zoff вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 08:20.


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2020 by CS-Mapping.com.ua Community