Войти
АртФорумМоделирование

Фотореалистичные часы (4 стр)

Страницы: 1 2 3 4
#45
15:16, 10 июля 2014

По поводу АА, счас вспомнила, есть классный редкий алгоритм DLAA (Directionally Localized Anti-Aliasing), работающий на направленных смещениях и высокочастотном фильтре, что как бы намекает на управляемый шарпнесс, отсуствием которого болеет FXAA и его братья по методу. Очень интересный алго без всяких паттернов для поиска как в морфологических алгоритмах и т.д. Но не учитывает диагональные аллиасы ну и хуже СМАА, зато простой и быстрый)

Изображение

Выложила у себя на шаре :)
Пейпер:  https://drive.google.com/file/d/0B64Wd3EfQPSmbktPcWR3eklKNXc/edit?usp=sharing
Код для манки:  https://drive.google.com/file/d/0B64Wd3EfQPSmdG96N0R4ZEJXR1E/edit?usp=sharing


#46
16:33, 10 июля 2014

Spinal
Как Shadow Builder уже сказала - все алгоритмы антиалиасинга нацелены на то, чтобы уйти от суперсемплинга - а вы его ещё сверху прикрутили. Зачем это понадобилось?

#47
19:51, 10 июля 2014

bazhenovc Shadow Builder
Вы не совсем корректно говорите, что алгоритмы нацелены на уход. Скажем так, они лишь позволяют замаскировать неточности, видимые без суперсэмплинга. Все они - фейк на самом деле (я не об алгоритмах t2x - там почти настоящий суперсэмплинг).
А вот чтобы получить картинку максимального качества их комбинируют с SSAA или MSAA.

Можете, к слову сказать, открыть приведенную вами же ссылку:

Там есть небольшой абзац на эту тему:

Our method shows for the first time how to combine morphological antialiasing (MLAA) with additional multi/supersampling strategies (MSAA, SSAA) for accurate subpixel features, and how to couple it with temporal reprojection...

Именно это мы и реализовали.

#48
20:20, 10 июля 2014

Spinal
> Our method shows for the first time how to combine morphological antialiasing (MLAA) with additional multi/supersampling strategies (MSAA, SSAA) for accurate subpixel features, and how to couple it with temporal reprojection...
> Именно это мы и реализовали.
Это не совсем то, что нужно было реализовать :) Суперсамплинг можно добавить сверху для повышения точноти (для скриншотов, для пре-рендера роликов), но SMAA и без суперсамплинга прекрасно работает (ради чего он и задумывался).

> я не об алгоритмах t2x - там почти настоящий суперсэмплинг
Это не корректное утверждение, T2x это SMAA + temporal supersampling, о котором можно почитать тут
C классическим суперсемплингом эта технология имеет мало чего общего.

Ближе к суперсемплингу является SMAA S2x - это SMAA + spatial multisampling тут, но и он, внезапно, не является суперсемплингом.

И T2x, и S2x более-менее решают проблемы SSAA при сопоставимом качестве.

Мне почему-то кажется, что вы не понимаете основную проблему SSAA и применяете его там, где ему совершенно не место (в реал тайм приложении).

P.S.
Не надо вырывать фразу из контекста, на самом деле там написано "SMAA aims to be more closely converging to MSAA/SSAA references but maintaining extremely fast execution times" :)

+ SMAA Abstract

#49
21:56, 10 июля 2014

bazhenovc
> Это не совсем то, что нужно было реализовать :) Суперсамплинг можно добавить сверху для повышения точноти (для скриншотов, для пре-рендера роликов).
Я написал выше, что ULTRA в нашем случае задумывался как режим для снятия скриншотов. По-моему, то что вы написали совсем не противоречит тому, чего мы собственно добивались.
Стоило ли этот режим в таком виде представлять общественности - это уже другой вопрос, на который мы получили отрицательный ответ :).

>Это не корректное утверждение, T2x это SMAA + temporal supersampling
Потому я и говорю, что почти настоящий. Этимология термина Supersampling подразумевает получение нескольких значений для одного пикселя. Что и происходит в алгоритмах temporal supersampling. Но, знак равенства, я коненчо же, не ставлю.

>Ближе к суперсемплингу является SMAA S2x
Его бы мы с радостью использовали, но в текущем WebGL не имеем такой возможности.

>Мне почему-то кажется, что вы не понимаете основную проблему SSAA и применяете его там, где ему совершенно не место (в реал тайм приложении).
Понимаем-понимаем. Возможно вынесем нынешний подход в режим, специально предназначенный для снятия скриншотов, который не будет так просто подключаться в просмотрщиках.

>Не надо вырывать фразу из контекста, на самом деле там написано "SMAA aims to be more closely converging to MSAA/SSAA references but maintaining extremely fast execution times
Опять же не вижу противоречий) В этом тексте кроме прочего говорится о применении SMAA вместе с суперсэмплингом. То есть такую связку не мы придумали.

В любом случае, ваш посыл мы восприняли и соответствующие выводы сделали. Спасибо!

#50
22:00, 10 июля 2014

Spinal
Я бы на вашем месте сделал бы ультру без суперсемплинга + кнопку "сделать скриншот" которая будет рендерить один кадр с суперсемплингом и его же сохранять.  В таком случае все будут довольны :)

#51
22:06, 10 июля 2014

bazhenovc
Хорошее предложение. Просмотрщик у нас сейчас так же дорабатывается. Возможно, добавим такой функционал.

#52
22:30, 10 июля 2014

bazhenovc
> + кнопку "сделать скриншот" которая будет рендерить один кадр с суперсемплингом
> и его же сохранять.
притом в таком виде качество можно поднять ещё (даже с ультрой на цифрах часов есть лёгкий шум от алиазинга)

#53
22:33, 10 июля 2014

Spinal
Кстати, я тут посмотрел мельком на шейдеры, у меня несколько вопросов есть.

postprocessing/motion_blur.glslf - его можно ускорить в 1.5 раза, если убрать бранч. Этот бранч всё равно не развернётся и на dx9 вам честно посчитаются обе ветки.

postprocessing/ssao.glslf, include/particles.glslv - там вообще содом и гомора.
в include/skin.glslv - есть некоторые неточности в формулах

в тенях в include/shadow.glslf неоптимальные рассчёты в variance shadow mapping.

#54
22:53, 10 июля 2014

Spinal
> Хорошее предложение. Просмотрщик у нас сейчас так же дорабатывается. Возможно,
> добавим такой функционал.


Это даже скорее стандартная практика, на кнопку Сделать скриншот вешать немного иной функционал)
А по поводу АА и ССАО, попробуйте Scalable Ambient Obscurance :) При желании можно прикрутить к нему темпоралньый фильтр из СМАА, чтобы убить артефакт фликеринга, который при перегенерации происходит и будет счастие великое в АО и перестанет он мигать :) 2 зайца 1-м выстрелом.

в МоБлюре, кстати, зачем ИФ?


bazhenovc
> в тенях в include/shadow.glslf неоптимальные рассчёты в variance shadow
> mapping.
А зачем вообще ВСМ, есть же ESM?
ВСМ неприятный арт даёт при наложении, лайтблидинг)
Изображение
Изображение

#55
19:27, 11 июля 2014

Shadow Builder
>в МоБлюре, кстати, зачем ИФ?
bazhenovc
>postprocessing/motion_blur.glslf - его можно ускорить в 1.5 раза, если убрать бранч. Этот бранч всё равно не развернётся и на dx9 вам честно посчитаются обе ветки.
Этот if у нас для устранения бесконечных хвостов за объектами.
То что он не развернется на dx9 - это, конечно нехорошо, но совсем скоро популярные браузеры по дефолту включат dx11 бэкэнд на поддерживаемом железе.

>postprocessing/ssao.glslf, include/particles.glslv - там вообще содом и гомора.
В частицах - это реализация блендеровских RAMP-ов. Честно сказать, лучшего метода я на данный момент не вижу. Алтернативой является использование вертексных текстур, но пока достаточно большой процент устройств их не поддерживает.

Shadow Builder
> А по поводу АА и ССАО, попробуйте Scalable Ambient Obscurance :)
К сожалению, на данный момент это сделать проблематично, из-за отсутствия MRT. (о чем писал на прошлой странице bazhenovc). В этой технике требуются и глубина и нормали. (Сейчас мы базируемся исключительно на глубине)

В целом то, что алгоритм SSAO требует пересмотра, я с вами совершенно согласен. Об этом говорит и производительность.

>А зачем вообще ВСМ, есть же ESM?
У нас используется Light Bleed Mapping, который позволяет устранить некоторые недостатки VSM.

Ещё раз спасибо, за замечания.

#56
18:05, 12 июля 2014

Ясно :)
А про ЕСМ, все-таки я его советую по ряду причин, во первых ЕСМ быстрее, во вторых требует 1 канал в рендер таргете. Ну и выглядит "Красивее". Фильтрить можно через PCSS - http://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf

+ Показать
#57
21:17, 12 июля 2014

Shadow Builder Spinal
ESM очень страдает от false shadow. Если хочется красивых мягких теней - лучше покурить EVSM

Их, вроде бы, VirT придумал, он есть на этом форуме (и у меня в друзьях).

Spinal
Light bleed mapping, если это тот алгоритм, о котором я думаю (там, где надо маску дополнительную строить?), даёт дополнительную нагрузку на филл-рейт.

Depth envelope решает те же проблемы, но значительно более дешев.

Spinal
> Этот if у нас для устранения бесконечных хвостов за объектами.
Их можно и по другому устранять ;)

Страницы: 1 2 3 4
АртФорумМоделирование

Тема в архиве.