Jaki jest stan techniki w zakresie renderowania cieni? Moim celem jest OpenGL 3.2, jeśli to ma znaczenie, używając odroczonego procesu renderowania.
Minęły lata, odkąd przyjrzałem się renderowaniu cieni, a wtedy dostępnych było wiele technik, od szablonów po różne metody mapowania cieni. W tym czasie cienie renderowania wymagały osobnych przejść renderowania, kontrolowanych przez procesor. Ale ostatnio widziałem demo, w którym scena została całkowicie renderowana na GPU, w tym cienie. Nie mam pojęcia, jak by to osiągnąć, ani czy jest to rozsądne (poza pokazem technicznym).
Biorąc pod uwagę dużą liczbę starych informacji w Internecie, chciałbym dowiedzieć się, jakich metod używają ludzie w dzisiejszych czasach i jak wiele z nich można przekazać do GPU (zakładając, że moja docelowa wersja OpenGL je obsługuje).
Odpowiedzi:
http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ daje ładny przegląd podstaw. http://en.wikipedia.org/wiki/Shadow_mapping prowadzi do wielu artykułów naukowych opisujących różne ulepszenia i optymalizacje.
Kilka lat temu „cień” był „czymś”. http://en.wikipedia.org/wiki/Shadow_volume ładnie opisuje tę technikę.
Ostatnio metody oparte na śledzeniu promieni i ścieżce zostały wykorzystane do błyskawic / cieniowania (które były już wcześniej, ale nie sprzęt do ich wykorzystania). Chociaż zastosowane optymalizacje (np. Renderowanie Monte Carlo z ograniczonymi iteracjami) zwykle prowadzą do szumu / artefaktów podczas ruchu kamery (przykład efektu, patrz np. Http://www.youtube.com/watch?v=FJLy- ci-RyY ).
źródło