Современные методы рендеринга теней?


16

Каково современное состояние с точки зрения рендеринга теней? Моя цель - OpenGL 3.2, использующая конвейер отложенного рендеринга, если это имеет значение.

Прошло много лет с тех пор, как я изучал рендеринг теней, и в то время было доступно множество техник, от трафаретов до различных методов отображения теней. В то время рендеринг теней требовал отдельных проходов рендеринга, контролируемых процессором. Но недавно я увидел демо-версию, где сцена полностью воспроизводилась на GPU, включая тени. Я понятия не имею, как это было бы достигнуто, или если это даже разумно сделать (кроме технической демонстрации).

Учитывая большое количество старой информации в интернете, я хотел бы узнать, какие методы люди используют в наши дни, и какую часть можно отправить в GPU (при условии, что моя целевая версия OpenGL поддерживает это).


1
Пока RoyT не сможет прийти сюда, чтобы высказать мнение эксперта, я просто оставлю эту ссылку в его блоге. roy-t.nl/index.php/2013/04/12/…
Сет Бэттин

Ответы:


10

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ дает хороший обзор основ. http://en.wikipedia.org/wiki/Shadow_mapping ссылки на множество исследовательских работ, описывающих различные улучшения и оптимизации.

Объемы теней были «предметом» несколько лет назад. http://en.wikipedia.org/wiki/Shadow_volume хорошо описывает технику.

В последнее время подходы, основанные на трассировке лучей и трассировке путей, использовались для освещения / затенения (которые были раньше, но не аппаратное обеспечение для их использования). Тем не менее, используемые оптимизации (например, рендеринг Монте-Карло с ограниченными итерациями), как правило, приводят к шуму / артефактам при движении камеры (пример эффекта см., Например, http://www.youtube.com/watch?v=FJLy- ci-RyY ).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.