1. Oświetlenie lokalne a. Czym różni się sposób liczenia odbicia zwierciadlanego zaproponowany przez Phonga od zaproponowanego przez Blinna? b. Co reprezentują argumenty i wartość funkcji BRDF? Na czym w przypadku funkcji BRDF polega zasada zachowania energii i symetryczności? c. Opisz model powierzchni wykorzystany w modelu oświetlenia Torrance a-sparrowa. Co reprezentują trzy podstawowe składniki tego modelu oświetlenia: funkcja szorstkości D, tłumienie geometryczne G, współczynnik Fresnela F? d. Opisz różnicę pomiędzy anizotropowym a izotropowym modelem oświetlenia. Podaj przykład anizotropowego modelu oświetlenia. e. Porównaj oświetlenie rozproszone lambertowskie i w modelu Orena-Nayara. 2. Oświetlenie globalne a. Opisz w jaki sposób wyrażenia regularne wykorzystuje się do klasyfikacji śledzonych promieni. b. Wyjaśnij czym są kaustyki. Jaka technika realizacji globalnego oświetlenia najlepiej nadaje się do liczenia kaustyk i dlaczego? c. Opisz dwa przebiegi algorytmu photon mapping: sianie i zbieranie. d. Jakiego rodzaju ścieżki promieni światła analizuje algorytm radiosity? Od czego zależą i jak można policzyć współczynniki przekazywanej energii pomiędzy płatami (form factors)? e. Objaśnij różnice między pojęciami: ray casting, ray tracing, path tracing. Które kierunki promieni odbitych w algorytmie śledzenia ścieżek (path tracing) są najbardziej interesujące? 3. Teksturowanie a. Opisz, czym w grafice komputerowej są bilbordy. Podaj ich przykładowe zastosowania. b. Co to oznacza, że dana tekstura ma wysoki zakres dynamiki (HDR)? Podaj przykład zastosowania tekstury HDR i objaśnij co możemy dzięki niej zyskać. c. Czym się różnią mapowanie przemieszczeń (displacement mapping), mapowanie wypukłości (bump mapping), mapowanie wypukłości z efektem paralaksy (parallax bump mapping) i mapowanie reliefów (relief mapping)? d. Dana jest siatka trójkątów z przypisanymi współrzędnymi tekstury i mapa normalnych. Co należy policzyć dla siatki trójkątów przed przystąpieniem do mapowania wypukłości? Jak przy mapowaniu wypukłości uzyskać normalną
4. Widoczność 5. Cienie potrzebną w modelu oświetlenia na podstawie normalnej pobranej z mapy normalnych? e. Wymień właściwości i omów zastosowania szumu Perlina. a. W jaki sposób dokładność bufora głębokości zależy od bliższej i dalszej płaszczyzny obcinania? b. Jakie testy dla pary trójkątów są wykonywane w algorytmie malarskim (sortowania trójkątów względem głębokości)? Kiedy wykonując te testy można stwierdzić, że dwa porównywane trójkąty przecinają się w trójwymiarowej przestrzeni? c. Opisz strukturę drzewa BSP (Binary Space Partitioning Tree) przechowującego zbiór trójkątów. Co się zmieni, jeśli zamiast drzewa BSP użyte zostanie k-d drzewo? d. Napisz w jaki sposób posortować trójkąty na podstawie relacji zasłaniania mając utworzone dla nich drzewo BSP. e. Opisz kolejne kroki algorytmu Weilera-Athertona. a. Opisz jak wygenerować bryłę cienia dla siatki trójkątów bez dziur. b. Czym różni się metody realizowania algorytmu bryły cienia z-fail od z-pass? W jakich przypadkach każda z nich daje poprawnie a w jakich niepoprawnie policzone cienie. c. Wymień zalety map cienia w stosunku do brył cienia oraz zalety brył cienia w stosunku do map cienia. d. Od czego i w jaki sposób zależy wielkość obszaru rozmycia krawędzi cienia rzucanego przez obiekt A na powierzchnię B dla światła sferycznego. e. Wymień bez opisywania metody radzenia sobie z aliasingiem map cienia 6. Łączenie kolorów a. Czym się różnią pojęcia transparency i translucency? b. Mając dane: jednostkowy wektor kierunku promienia padającego I, jednostkowy wektor normalny do powierzchni w punkcie padania N, współczynnik refrakcji (załamania światła) ośrodka promienia załamanego względem ośrodka promienia padającego n, wyprowadź wzór na kierunek promienia załamanego R. c. W jaki sposób należy uwzględnić współczynnik Fresnela przy renderowaniu powierzchni wody, aby uzyskać realistyczny rezultat?
d. Napisz w jaki najprostszy sposób można uzyskać na renderowanym obrazie trójwymiarowej sceny efekt przypominający rysunek pocieniowany przy pomocy kresek wykonanych pisakiem (hatching). e. Opisz dowolny algorytm realizujący rozmycie ruchu (motion blur). 7. Antyaliasing 8. Triangulacja a. Jaka jest różnica pomiędzy multisamplingiem a supersamplingiem? b. Opisz na czym polega filtrowanie trzyliniowe mipmap. c. Napisz w jaki sposób można zrealizować filtrowanie anizotropowe tekstur mając dane struktury mipmap. d. Opisz strukturę SAT (Summed Area Table) wygenerowaną dla tekstury. Co umożliwia taka struktura w zakresie filtrowania tekstury oraz jakie są wady korzystania z niej? e. Na czym polega usuwanie wysokich częstotliwości z obrazu w przypadku wykonywania operacji w dziedzinie częstotliwości (po zastosowaniu transformaty Fouriera dla obrazu) a na czym w przypadku wykonywania operacji w dziedzinie przestrzennej (obrazu)? a. Opisz ideę (szczegóły pomiń) realizacji algorytmu triangulacji dowolnego wielokąta bez przecięć o pesymistycznej złożoności O(n log n) lub O(n^2), gdzie n to liczba wierzchołków wielokąta. b. Wymień cechy triangulacji Delaunaya utworzonej dla zbioru punktów na płaszczyźnie. c. Opisz związek pomiędzy diagramem Voronoi a triangulacją Delaunaya dla zbioru punktów. d. Opisz ideę dowolnego algorytmu liczenia diagramu Voronoi lub triangulacji Delaunaya dla zbioru punktów na płaszczyźnie. e. W jaki sposób zmodyfikować gotową triangulację Delaunaya dla zbioru punktów na płaszczyźnie tak, aby uwzględniała ona zadaną krawędź łączącą dwa punkty z tego zbioru (zadanie constrained delaunay triangulation)? 9. Wyświetlanie siatek a. Na czym polega hierarchiczna reprezentacja sceny przy pomocy drzewa BSP? W jaki sposób można utworzyć zbiory potencjalnie widocznych wielokątów dla komórek reprezentowanych przez liście takiego drzewa? b. Objaśnij na czym polega obcinanie trójkątów niewidocznych z użyciem portali. Jakie struktury danych są potrzebne do korzystania z tej techniki? Jakie są jej wady i zalety w stosunku do zastosowania zbiorów wielokątów potencjalnie widocznych (PVS)?
c. W jaki sposób w metodzie siatek progresywnych tworzona jest uproszczona wersja siatki trójkątów? d. Wyjaśnij pojęcia: geomorphing, pętla histerezy. e. Wyjaśnij w jaki sposób jest reprezentowana siatka trójkątów dla ustalonego poziomu szczegółowości terenu w algorytmie ROAM (Real-time Optimally Adapting Meshes). W jaki sposób dla ustalonego trójkąta odbywa się zagęszczanie siatki? Na podstawie jakiej heurystyki wybierane są trójkąty, dla których taka operacja powinna zostać wykonana? 10. Śledzenie promieni a. Opisz wybrany wydajny algorytm śledzenia promieni dla sceny reprezentowanej w postaci k-d drzewa. b. Podaj sposób na sprawdzenie czy istnieją i wyznaczenie punktów przecięcia promienia z prostopadłościanem. c. Przyjmijmy, że scena dana jest w postaci trójkątów, z których każdy ma w wierzchołkach przypisane współrzędne tekstury. Wyprowadź wzór pozwalający wyznaczyć współrzędne tekstury po interpolacji liniowej w punkcie przecięcia danego promienia z trójkątem. Jak szybko stwierdzić czy takie przecięcie istnieje? d. Opisz w jaki sposób można uzyskać rozmyte cienie dla kulistego światła metodą śledzenia promieni. e. Opisz w jaki sposób generować serię promieni odbitych od powierzchni tak, aby przy ich pomocy dało się uzyskać efekt rozmytych odbić zwierciadlanych zgodnie z modelem Phonga. 11. Animacja i symulacja 3D a. Opisz technikę interaktywnej animacji twarzy przy użyciu blend shapes ( morph targets ). Jakie struktury danych są potrzebne przy jej realizacji. b. Opisz technikę animacji postaci przy użyciu system kości i skóry. Jakie struktury danych są potrzebne przy jej realizacji. Przyjmując, że pozycje i obroty kości dane są tylko dla klatek kluczowych w jaki sposób generować klatki pośrednie? Jakie mogą być trzy źródła danych pozycji i obrotów kości dla klatek kluczowych? c. Opisz sposób symulacji ruchu prostokątnego kawałka materiału przy pomocy modelu cząstek i sprężyn. d. Porównaj numeryczne metody rozwiązywania równań różniczkowych zwyczajnych ruchu cząstki Eulera (wprost), Verleta, żabiego skoku. Wyprowadź wzór metody Verleta na podstawie rozwinięcia w szereg Taylora.
e. Objaśnij pojęcia: równania różniczkowe zwyczajne, równania różniczkowe cząstkowe, równiania różniczkowe zwyczajne i algebraiczne. Przy jakich symulacjach fizyki pojawiają się poszczególne z tych typów równań?