Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 22.05.2015, 22:32   #1
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Отражения реального времени в Watch_Dogs.

Доброго времени суток.

Речь идёт о ground-level отражениях, которые на земле, воде, окнах авто, а не те что в окнах и витринах домов -- там обычные статические кубические карты. Некоторые артефакты сабжевых отражений наводят на мысль что они используют (возможно частично) изображение полученное с обычной камеры, которое затем перевернули и исказили. Было бы неплохо если кто-то просвещённый в данной теме подскажет название данной техники или разместит ссылку на её описание.
(Offline)
 
Ответить с цитированием
Старый 22.05.2015, 23:11   #2
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,318
Написано 1,986 полезных сообщений
(для 7,096 пользователей)
Ответ: Отражения реального времени в Watch_Dogs.

воде
На воде SSR. Возможно, что не везде. Кстати, SSR очень легко вычислить. Достаточно просто камеру вниз опустить так, чтобы отражаемый объект пропал с экрана - в таком случае отражение пропадёт с отражающей поверхности.
Про остальное знает MrF
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (22.05.2015)
Старый 23.05.2015, 10:31   #3
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,907
Написано 2,156 полезных сообщений
(для 5,832 пользователей)
Ответ: Отражения реального времени в Watch_Dogs.

Как и в гта4 и 5, вачдогс рисует кубмапу прямиком из позиции игровой камеры, скрючивает её в dual paraboloid, генерирует мипы с блюром, затем все объекты это семплят без каких-либо коррекций.
Работает довольно хорошо вблизи, по вертикали может плавать, но на практике это незаметно. Вдалеке начинаются косяки, в гта5 можно спалить на небоскрёбах.
В кубмапу рисуются лоды очень-очень лоуресные. Вблизи камеры бывает не очень.
Некоторые объекты туда лучше не рисовать - в WD есть косяк, рисуют большие фонари, в результате если под них встать, можно заставить всю локацию отражать ярко-белую фигню.
-----
ща ещё раз пересмотрел, ошибся чутка - гта4 и вд рисуют сразу параболоид, крючат в вертексном шейдере сцену в него - видны характерные артефакты от недостатка вертексов. гта5 рисует кубмапу и крючит в PS, там качво лучше.

картинка нарезанная из 5 (яркость подкрутил для наглядности, там HDR)
Миниатюры
Нажмите на изображение для увеличения
Название: rt1x.jpg
Просмотров: 296
Размер:	123.7 Кб
ID:	21714  
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Эти 8 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
Arton (23.05.2015), Gector (27.06.2015), Igor (08.06.2015), impersonalis (02.06.2015), KCEPOKC (28.05.2015), LLI.T.A.L.K.E.R. (23.05.2015), moka (23.05.2015), Samodelkin (23.05.2015)
Старый 23.05.2015, 15:54   #4
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Ответ: Отражения реального времени в Watch_Dogs.

Ну вот я сейчас посмотрел ещё раз WD, на воде как ARA и сказал обычный SSR -- как только верх лодки уходит за экран, то и отражение сразу отсекается. Это особенно в Crysis 3 заметно. На земле параболоид, потому что верхушки небоскребов видны в отражении, когда на экране их уже нет. Но получается что камере два раза нужно рисовать. А вот в задних окнах авто попадает отражение того что находится сзади камеры, значит там целая кубмэпа рисуется. Ещё я заметил что нету отражений машин и людей, я так понимаю это сделали не только для ускорения рисования но и чтобы убрать артефакты на объектах расположенных ниже камеры. Как например стол, если стоять перед ним, то видно его верхнюю плоскость, а если посмотреть под стол, где от земли будет его отражение, то в нём должна отображаться нижняя плоскость стола, которой нету в данных GBuffer'а. Вот а в WD хуже всего палятся светофоры, когда на машине едешь камера проходит прямо около них, так что они крупным планом рисуются, а в отражении снизу они должны быть мелкими, но они и там огромные.
(Offline)
 
Ответить с цитированием
Старый 23.05.2015, 18:51   #5
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,907
Написано 2,156 полезных сообщений
(для 5,832 пользователей)
Ответ: Отражения реального времени в Watch_Dogs.

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

в L.A. Noire тоже есть чёто вроде кубмапы/параболойда, детально не разбирал, но они в него рисовали квады светящиеся на месте фар тачек, прикольно смотрелось - типа огоньки в отражении машины едут. Силуэты людей и тачек во время дождя там ещё отражались на земле - но таинственным образом исчезали на диагональных дорогах, были только на горизонтальных ровных, из-за чего мне думается, обычный рендер флипанутых по Y моделей там.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 23.05.2015, 19:51   #6
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 977
Написано 388 полезных сообщений
(для 630 пользователей)
Ответ: Отражения реального времени в Watch_Dogs.

SSR будет иметь тот же артефакт вблизи или при высокой камере как описанный со столом. Нужно что-то что не подвергается information lost при рендеринге в gbuffer. Флипанутые по Y модели можно делать на воде или лужах -- они обычно горизонтальные всегда. Я думаю что на асфальте или прочих негладких поверхностях можно с помощью шейдера посчитать нормали в ворлдспейс из карт нормалей и нормалей геометрии которые смотрят вверх и на этих пикселях отображать отражение флипанутых моделей, при немного отклоненных делать поправку при сэмплинге из отражения, а при сильно наклоненных вообще не рисовать отражение (или заменить нейтральной кубемэпой). По крайне мере на немного наклоненных дорогах или участках земли это может решить задачу.
(Offline)
 
Ответить с цитированием
Старый 23.05.2015, 20:11   #7
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,907
Написано 2,156 полезных сообщений
(для 5,832 пользователей)
Ответ: Отражения реального времени в Watch_Dogs.

Нужно что-то что не подвергается information lost
а вот хрен. идеальных отражений в реалтайме не бывает.
варианты:
- много плоскостей, куда растеризуешь планарное отражение (флипнутые меши) под разным углом и при семплировании делаешь поправку, как ты сказал, где отличия небольшие.
можно попробовать растерить их все в 1 РТ без овердро, например пометив в стенсиле куда каждое планарное отражение рисовать. отрисовка сцены в отражения должна быть ооочень дешёвой, чтобы прокатило.
- вокселизуешь всё и трейсишь. мб каскады вокселей. весить будет дофига (одна 512х512х512 RGBA текса займёт половину моей врамы), точность сомнительная, трейсить медленно, как-то решать leak'и надо.
можно вокселизовать отдельные лишь объекты. я пробовал делать так самоотражение объекта:

с самоотражением не так сложно, т.к. чётко понятно какой объект что отражает. а вот если надо чтобы воксели этого объекта отражались в мире... нужно как-то помечать, где они потенциально могут отразиться, а это особо точно не сделаешь, разве что деферед шар/куб большой вокруг объекта, и тогда много объектов в одном месте сделают лагодром.
опять же, разрешение вокселей сильно ограничено, удобнее юзать для однобитного селф-окклюжена всяких кубмап, чем для реальных отражений.
- отражать билборды аналитически находя пересечение луча с плоскостью. такое тоже делал (вон там вдали красный столб так отражён), только размывать такое отражение проблемно, особенно когда квад под острым углом, простой арифметики уже не хватит, так что лучше в скринспейсе блюрить.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
impersonalis (02.06.2015), Samodelkin (23.05.2015)
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 01:54.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com