Показать сообщение отдельно
Старый 23.05.2015, 23:11   #7
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Отражения реального времени в 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)