Algorytmy renderingu dla programowalnych jednostek graficznych dyplomant promotor kopromotor Michał Szymczyk prof. dr hab. inż. Maria Pietruszka mgr inż. Dominik Szajerman
Cel pracy Przegląd istniejących algorytmów renderingu wolumetrycznych Implementacja w całości na procesorze graficznym Wykorzystanie renderingu wolumetrycznego do wizualizacji zjawiska topnienia i symulacji płynów
Zadania do pracy Implementacja dwóch podstawowych algorytmów wyświetlania obiektów wolumetrycznych: ISO-Surface oraz Direct Volume Rendering
Zadania do pracy (2) Poprawa punktu przecięcia promienia z obiektem Omijanie pustych przestrzeni
Zadania do pracy (3) Filtrowanie wyższego rzędu
Zadania do pracy (4) Rendering posegmentowanych danych Fly-through
Zadania do pracy (5) Oświetlenie, cienie, zaburzanie oraz półprzeźroczystość
Zadania do pracy (6) Non-photorealistic rendering
Zadania do pracy (7) Symulacja oraz wizualizacja topnienia
Zadania do pracy (8) Realizacja efektów specjalnych poprzez symulację płynów (np. dym)
Wykaz/Analiza literatury GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics, Addison-Wesley, 2004 GPU Gems 2: Programming Techniques for High- Performance Graphics and General-Purpose Computation, Addison-Wesley, 2005 GPU Gems 3, Addison-Wesley, 2007 Zbiór artykułów na temat FXComposer'a, architektury kart graficznych, pisania wydajnych programów Dwa artykuły na temat symulacji płynów!
Wykaz/Analiza literatury (2) Acceleration Techniques for GPU-based Volume Rendering, J. Kruger and R. Westermann Opis podstawowej techniki renderingu wolumetrycznego, ray casting dla procesora graficznego Advanced GPU Raycasting, Henning Scharsach Rozszerzenie techniki z poprzedniego artykułu, dodanie wielu ulepszeń jak: omijanie pustych przestrzeni, poprawa punktu przecięcia promienia z obiektem wolumetrycznym, przecięcie z normalną geometrią, poruszanie się wewnątrz obiektu wolumetrycznego
Wykaz/Analiza literatury (3) A Model for Volume Lighting and Modeling, Joe Kniss, Simon Premoze, Charles Hansen, Peter Shirley, Allen McPherson Kilka modeli oświetlenia oraz tworzenia cieni wolumetrycznych. Zaburzanie obiektu w celu tworzenia realistycznego futra oraz chmur. Półprzeźroczystość modeli wolumetrycznych. Melting and Flowing, Mark Carlson, Peter J. Mucha, R. Brooks Van Horn III, Greg Turk Model opisujący zjawisko topnienia.
Wykaz/Analiza literatury (4) http://developer.nvidia.com/page/documentation.html http://www.cc.gatech.edu/~carlson/ http://physbam.stanford.edu/~fedkiw/ http://medvis.vrvis.at/home/ http://www.opengl.org/sdk/docs/man/
Zamierzony sposób rozwiązania Framework wykorzystujący OpenGL oraz Cg Zestaw narzędzi do obróbki obiektów wolumetrycznych (skalowanie, filtrowanie, wokselizacja) Zbiór efektów napisanych w języku Cg, które będzie można łączyć/mieszać w celu uzyskania nowych efektów Deffered shading Wszystkie algorytmy będą zaimplementowane tylko dla GPU
Układ treści Wstęp Przegląd istniejących technik renderingu Rendering powierzchniowy Rendering objętościowy Realizacja wybranych metod z wykorzystaniem programowalnych kart graficznych Potok renderingu OpenGL 2.0 Minimalne wymagania sprzętowe Deffered shading Renderowanie do tekstur 3D Ray casting na GPU Algorytm podstawowy Iso-Surface Rendering Direct Volume Rendering Fly-through Optymalizacje: Wcześniejsze zakończenie promienia Omijanie pustych przestrzeni Poprawa jakości obrazu Poprawa punktu przecięcia promienia z obieketm Filtrowanie wyższego rzędu Oświetlenie Perturbacja modelu Półprzeźroczystość Non-photorealistic rendering
Wstęp do symulacji płynów Równania Navier-Stokes'a Podstawowe wyrazy równań Advection Ciśnienie Dyfuzja Siły zewnętrzne Dodatkowe wyrazy równań Pływalność Vorticity Rozwiązanie równań Navier-Stokes'a Warunki brzegowe Interakcja z obiektami zewnętrznymi Sposób rozwiązania równań na GPU Efekty wykorzystujące symulację płynów Topnienie Dym Framework do renderingu wolumetrycznego Podstawowa struktura Programy cieniowania Interfejs użytkownika Podsumowanie Układ treści (2)
Dziękuję Pytania?