Cieniowanie. Mirosław Głowacki

Podobne dokumenty
Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Animowana grafika 3D. Opracowanie: J. Kęsik.

Oświetlenie obiektów 3D

GRK 4. dr Wojciech Palubicki

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

Śledzenie promieni w grafice komputerowej

1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych

WYMAGANIA EDUKACYJNE Rok szkolny 2018/2019

Techniki animacji komputerowej

WYMAGANIA EDUKACYJNE Z MATEMATYKI 2016/2017 (zakres podstawowy) klasa 3abc

Trójwymiarowa grafika komputerowa rzutowanie

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

I. Potęgi. Logarytmy. Funkcja wykładnicza.

Animowana grafika 3D. Opracowanie: J. Kęsik.

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu

1. Potęgi. Logarytmy. Funkcja wykładnicza

Grafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor

Grafika komputerowa Wykład 10 Modelowanie oświetlenia

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)

Analiza obrazów - sprawozdanie nr 2

Kształcenie w zakresie rozszerzonym. Klasa IV

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Algorytmy i struktury danych. wykład 5

Plan wynikowy, klasa 3 ZSZ

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Całkowanie numeryczne

1. Prymitywy graficzne

Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II

Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły

WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony. Wiadomości i umiejętności

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Synteza i obróbka obrazu. Modelowanie obiektów 3D

Animowana grafika 3D. Opracowanie: J. Kęsik.

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych

Kryteria oceniania z matematyki Klasa III poziom podstawowy

Plan wykładu. Akcelerator 3D Potok graficzny

WYMAGANIA EDUKACYJNE Rok szkolny 2018/2019

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Podstawy grafiki komputerowej

Przetwarzanie obrazów rastrowych macierzą konwolucji

Wizualizacja 3D obiektów i systemów biomedycznych

6. Organizacja dostępu do danych przestrzennych

Grafika komputerowa Tekstury

DesignCAD 3D Max 24.0 PL

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1

10.3. Typowe zadania NMT W niniejszym rozdziale przedstawimy podstawowe zadania do jakich może być wykorzystany numerycznego modelu terenu.

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

w jednym kwadrat ziemia powietrze równoboczny pięciobok

Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

Złudzenia optyczne. . Złudzenia optyczne dzieli się na cztery kategorie:

Julia 4D - raytracing

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

3. Macierze i Układy Równań Liniowych

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Zaawansowana Grafika Komputerowa

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO OTRZYMANIA PRZEZ UCZNIA POSZCZEGÓLNYCH ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

Grafika komputerowa Wykład 9 Algorytmy wyznaczania obiektów zasłonietych

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY MATEMATYKA KLASA 8 DZIAŁ 1. LICZBY I DZIAŁANIA

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 12 AiR III

Definicja i własności wartości bezwzględnej.

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE VIII

LI Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia trzeciego 3 kwietnia 2000 r. (pierwszy dzień zawodów)

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

LUBELSKA PRÓBA PRZED MATURĄ 09 MARCA Kartoteka testu. Maksymalna liczba punktów. Nr zad. Matematyka dla klasy 3 poziom podstawowy

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Wymagania edukacyjne z matematyki w klasie III gimnazjum

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

KRYTERIA OCEN Z MATEMATYKI DLA KLASY I GIMNAZJUM

Wymagania edukacyjne klasa pierwsza.

Wymagania edukacyjne z matematyki

ZESPÓŁ SZKÓŁ W OBRZYCKU

KMO2D. Kolizje między-obiektowe w 2D

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

wymagania programowe z matematyki kl. III gimnazjum

Wykład z równań różnicowych

3. FUNKCJA LINIOWA. gdzie ; ół,.

Technologie Informacyjne

Krystalochemia białek 2016/2017

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 1

1.1. Rachunek zdań: alternatywa, koniunkcja, implikacja i równoważność zdań oraz ich zaprzeczenia.

Grafika 2D. Animacja Zmiany Kształtu. opracowanie: Jacek Kęsik

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne

Wymagania edukacyjne z matematyki - klasa III (poziom rozszerzony) wg programu nauczania Matematyka Prosto do matury

PDM 3 zakres podstawowy i rozszerzony PSO

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

TEMAT 1. LICZBY I DZIAŁANIA Liczby Rozwinięcia dziesiętne liczb wymiernych. 3. Zaokrąglanie liczb. Szacowanie wyników 1-2

Transkrypt:

Cieniowanie Mirosław Głowacki

Jasnym jest, że możemy pocieniować dowolną powierzchnię obliczając normalną do powierzchni w każdym widocznym punkcie i stosując odpowiedni model oświetlenia w tym punkcie. Niestety, taki bezpośredni model cieniowania jest drogi obliczeniowo. Istnieją bardziej efektywne modele oświetlenia dla powierzchni zdefiniowanych przez wielokąty i siatki wielokątów

Najprostszy model cieniowania wielokąta polega na cieniowaniu stałą wartością, określanym również jako cieniowanie ścian albo cieniowanie płaskie. W tym podejściu model oświetlenia jest wykorzystywany tylko raz w celu określenia jednej wartości natężenia, która jest później używana do cieniowania całego wielokąta. W istocie próbkujemy wartość równania oświetlenia raz dla całego wielokąta i utrzymujemy tę wartość w całym wielokącie w celu rekonstrukcji barwy wielokąta.

Takie podejście jest dobre, jeżeli jest spełnionych kilka założeń: źródło światła jest w nieskończoności, a więc N L jest stałe na całej powierzchni wielokąta. obserwator jest w nieskończoności, a więc N V jest stałe na całej powierzchni. wielokąt reprezentuje faktyczną powierzchnię modelowaną i nie jest aproksymacją powierzchni krzywoliniowej. Jeżeli jest wykorzystywany algorytm powierzchni widocznej, który generuje listę wielokątów, taki jak algorytm z listą priorytetową, całe cieniowanie może korzystać z powszechnie dostępnego prymitywu jednobarwnego, wielokąta 2D.

Jeżeli któreś z pierwszych dwóch założeń nie jest spełnione, to, gdybyśmy chcieli zastosować stałe cieniowanie, byłaby potrzebna metoda określania jednej wartości dla każdego N i V. Na przykład wartości mogłyby być obliczane dla środka wielokąta albo dla pierwszego wierzchołka wielokąta. Oczywiście przy stałym cieniowaniu nie ma zmian cieniowania wzdłuż wielokąta, które powinny się w takiej sytuacji pojawić.

Jako alternatywę obliczania równania oświetlenia w każdym punkcie wielokąta Wylie, Romney, Evans i Erdahl jako pierwsi zastosowali do cieniowania interpolację, w której informacja o cieniowaniu jest liniowo interpolowana w trójkącie na podstawie wartości określonych dla jego wierzchołków. Gouraud uogólnił tę metodę na dowolne wielokąty. Metoda ta jest szczególnie łatwa dla algorytmu przeglądania wierszami, który już i tak interpoluje wartość z wzdłuż odcinka przeglądanego na podstawie wartości z obliczonych dla końców tego odcinka.

W celu zwiększenia efektywności można korzystać z równania różnicowego do określania wartości z w każdym pikselu. Chociaż interpolacja z jest fizycznie poprawna (przy założeniu, że wielokąt jest płaski), zauważmy, że cieniowanie z interpolacją nie, ponieważ aproksymuje ono tylko obliczanie modelu oświetlenia w każdym punkcie wielokąta. Ostatnie założenie, że wielokąt dokładnie reprezentuje powierzchnię modelowaną, najczęściej jest niepoprawne i ma istotny wpływ na wynikowy obraz

Wiele obiektów jest krzywoliniowych a nie wielościanowych, jednak reprezentowanie ich jako siatki wielokątów umożliwia stosowanie efektywnych algorytmów wyznaczania powierzchni widocznych dla wielokątów. Jak wykonać rendering siatki wielokątowej, żeby wyglądała możliwie podobnie do powierzchni krzywoliniowej?

Załóżmy, że chcemy aproksymować powierzchnię krzywoliniową za pomocą siatki wielokątowej. Jeżeli każda ściana wielokątowa w siatce jest cieniowana niezależnie, to jest łatwa do odróżnienia od sąsiadów o innej orientacji i otrzymuje się wygląd jak na rysunku

Tak jest, jeżeli wielokąty są wyświetlane: ze stałą barwą, z cieniowaniem z interpolacją, a nawet z oświetleniem obliczanym dla każdego piksela; Wynika to stąd, że dwa sąsiednie wielokąty o różnej orientacji mają różne jasności wzdłuż swoich krawędzi. Proste rozwiązanie polegające na użyciu dokładniejszej siatki okazuje się zaskakująco nieefektywne, ponieważ postrzegana różnica w cieniowaniu między sąsiednimi ściankami jest uwydatniana przez efekt pasm Macha Odkryty przez Macha w 1865 r. efekt który uwypukla zmianę jasności na każdej krawędzi, gdzie jest nieciągłość amplitudy albo pochodnej. Na krawędzi między dwiema ścianami ciemna ściana wygląda ciemniej, a jasna jaśniej.

Na rysunku pokazano dla dwóch przypadków faktyczne i postrzegane zmiany jasności wzdłuż powierzchni.

Na ilu przecięciach białych linii znajdują się czarne kropki? Na żadnych. Wydaje się, że na białych przecięciach pojawiają się czarne kropki. To efekt hamowania aktywności receptora przez pobudzone receptory z nim sąsiadujące.

Jaka jest jasność ilustracji w punkcie B, względem pozostałych punktów? To złudzenie optyczne znane jako Pasmo Macha. Wydaje się, że punkt B jest jaśniejszy niż A, choć w rzeczywistości jasność obu jest taka sama. Złudzenie wynika z własności ludzkiego wzroku, skutkującej postrzeganiem jasnych (lub ciemnych, jak w punkcie C) wstęg na granicach obszarów o różnej jasności.

Efekt pasm Macha jest powodowany przez poziome hamowanie receptorów w oku. Im więcej światła otrzymuje receptor, tym silniej oddziałuje hamująco na odpowiedź receptora sąsiedniego. Odpowiedź receptora na światło jest hamowana przez sąsiednie receptory w zależności odwrotnie proporcjonalnej do odległości od sąsiedniego receptora. Receptory będące bezpośrednio po jaśniejszej stronie dają silniejszą odpowiedź niż te, które są dalej od krawędzi, ponieważ otrzymują one mniejszy sygnał hamowania od sąsiadów po ciemniejszej stronie. Podobnie receptory znajdujące się bezpośrednio po ciemnej stronie zmiany jasności dają słabszą odpowiedź niż znajdujące się dalej w ciemnym obszarze, ponieważ otrzymują silniejsze sygnały hamowania od swoich sąsiadów po jaśniejszej stronie.

W opisanych modelach cieniowania wielokąta barwa każdego wielokąta jest wyznaczana indywidualnie. Dwa podstawowe modele cieniowania dla siatek wielokątowych wykorzystują informacje pochodzącą z sąsiednich wielokątów do symulowania gładkiej powierzchni. Są one znane jako: cieniowanie Gourauda i cieniowanie Phonga Zostały wymienione w kolejności wynikającej ze wzrostu złożoności i efektu realizmu, a ich nazwy pochodzą od nazwisk twórców tych modeli. Współczesne stacje graficzne 3D na ogół mają wspomaganie sprzętowe albo sprzętowo-programowe dla przynajmniej jednej z tych metod.

Siatka wielokątów - obiekt jest tworzony z płaskich wielokątów (najczęściej trójkątów lub czworokątów) Wielokąty mają wspólne wierzchołki i krawędzie. W ten sposób można tworzyć proste bryły, albo - jeśli siatka jest dostatecznie gęsta dobrze przybliżać skomplikowane obiekty

Zamiana obiektów rzeczywistych na sieć elementów fragmenty płatów bikubicznych

Cieniowanie Gourauda, określane również jako cieniowanie na zasadzie interpolowania jasności albo cieniowanie na zasadzie interpolowania barwy, eliminuje nieciągłości jasności.

Większość efektu pasm jasnych pręg na takich obiektach jak torus czy stożek są pasmami Macha powodowanymi przez szybkie chociaż nieciągłe zmiany nachylenia krzywej jasności. Cieniowanie Gourauda nie eliminuje całkowicie takich zmian jasności. Cieniowanie Gourauda rozszerza koncepcję cieniowania z interpolacją stosowanego do poszczególnych wielokątów dzięki interpolowaniu wartości oświetlenia z wierzchołków wielokąta, wyznaczonego przy uwzględnieniu aproksymowanej powierzchni.

Proces cieniowania Gourauda wymaga, żeby była znana normalna dla każdego wierzchołka siatki wielokątowej. Gouraud mógł obliczać te normalne dla wierzchołków bezpośrednio z analitycznego opisu powierzchni. Alternatywnie, jeżeli normalne dla wierzchołków nie są zapisane z siatką i nie mogą być określone bezpośrednio dla bieżącej powierzchni, to Gouraud sugerował, żeby je aproksymować na zasadzie uśredniania normalnych do powierzchni wszystkich ścian wielokątowych, dla których dany wierzchołek jest wspólny

Jeżeli krawędź ma być widoczna (tak jak np. na połączeniu między skrzydłem samolotu a kadłubem), to znajdujemy dwie normalne dla wierzchołków, po jednej dla każdej strony krawędzi, na zasadzie uśrednienia normalnych do wielokątów z każdej strony krawędzi oddzielnie. Następny krok w cieniowaniu Gourauda polega na znalezieniu jasności w wierzchołkach przy wykorzystaniu normalnych w wierzchołkach za pomocą wybranego modelu oświetlenia.

Wreszcie, każdy wielokąt jest cieniowany na zasadzie: interpolacji liniowej między wierzchołkami wzdłuż każdej krawędzi, a potem między krawędziami wzdłuż każdego przeglądanego wiersza w sposób przedstawiony równaniami z prawej strony rysunku Określenie cieniowanie Gourauda jest często uogólniane na: cieniowanie metodą interpolacji jasności jednego wielokąta albo na interpolację dowolnych barw związanych z wierzchołkami wielokąta.

. Dla każdej krawędzi zapamiętujemy: wartość początkową każdej składowej barwy i zmianę jasności dla każdej zmiany jednostkowej współrzędnej y. Widzialny segment w wierszu jest wypełniany na zasadzie interpolowania wartości jasności dwóch krawędzi ograniczających ten segment. Tak jak we wszystkich algorytmach interpolacji liniowej, w celu zwiększenia efektywności można zastosować równanie różnicowe.

Cieniowanie Phonga, znane również jako cieniowanie z interpolacją wektora normalnego, interpoluje wektor normalny N do powierzchni zamiast jasności. Interpolacja ma miejsce wzdłuż segmentu w przeglądanym wierszu, między normalnymi dla początku i dla końca segmentu. Te normalne same są interpolowane wzdłuż krawędzi wielokąta na podstawie normalnych w wierzchołkach, które są obliczane, jeśli to jest konieczne, tak jak w przypadku cieniowania Gourauda. Interpolacja wzdłuż krawędzi znowu może być wykonana za pomocą obliczeń przyrostowych, przy czym wszystkie trzy składowe wektora normalnego są inkrementowane przy przejściu od przeglądanego wiersza do następnego przeglądanego wiersza.

Dla każdego piksela wzdłuż przeglądanego wiersza interpolowana normalna jest normalizowana i jest z powrotem odwzorowywana do układu WC lub izometrycznego do niego Następnie wykonuje się nowe obliczenie jasności za pomocą jakiegoś modelu oświetlenia. Na rysunku pokazano dwie normalne dla krawędzi i normalne interpolowane na ich podstawie, przed i po normalizacji.

Fotografie otrzymano przy zastosowaniu odpowiednio cieniowania Gourauda i cieniowania Phonga oraz równania oświetlenia z czynnikiem odbicia zwierciadlanego. Dla takich modeli oświetlenia cieniowanie Phonga daje istotne polepszenie w stosunku do cieniowania Gourauda, ponieważ rozjaśnienia są reprodukowane z większą wiernością

cos Zastanówmy się, co się stanie, jeżeli n w oświetlenia Phonga jest duże i dla jednego wierzchołka jest bardzo mały kąt, dla każdego natomiast z sąsiednich wierzchołków kąt jest duży. Jasność związana z wierzchołkiem, dla którego kąt jest mały, będzie odpowiednia dla rozświetlenia, a dla innych jasności pojawią się wartości, które nie odpowiadają rozświetleniom. n

Jeżeli użyje się cieniowania Gourauda, to jasność wzdłuż wielokąta jest liniowo interpolowana między jasnością rozświetlenia a mniejszymi jasnościami sąsiednich wierzchołków, rozprzestrzeniając rozświetlenie po powierzchni wielokąta (rys. a). Porównajmy to z ostrym spadkiem jasności rozświetlenia występującym wówczas, gdy wykorzystuje się normalne interpolowane liniowo do n obliczenia czynnika cos w każdym pikselu (rys. b)

Jeżeli rozświetlenie nie trafia na wierzchołek, to cieniowanie Gourauda może je całkowicie pominąć (rys. c), ponieważ żaden punkt wewnętrzny nie może być jaśniejszy od najjaśniejszego wierzchołka, od którego zaczyna się interpolacja. Przy cieniowaniu Phonga jest możliwe usytuowanie rozświetlenia wewnątrz wielokąta (rys. d).

Porównajmy rozświetlenia na piłce

Nawet dla modelu oświetlenia, w którym nie bierze się pod uwagę współczynnika odbicia zwierciadlanego, wyniki interpolacji wektora normalnego są na ogół lepsze od interpolacji jasności, ponieważ w każdym punkcie jest używana aproksymacja normalnej. To w większości przypadków redukuje problemy pasm Macha, ale znacznie zwiększa koszt cieniowania w bezpośredniej implementacji, ponieważ interpolowana normalna musi być normalizowana za każdym razem, gdy jest używana w modelu oświetlenia. Duff opracował kombinację równań różnicowych i tablicę pośrednią dla przyspieszenia obliczeń. Bishop i Weimer pokazują doskonałą aproksymację cieniowania Phonga przy wykorzystaniu rozwinięcia w szereg Taylora, które oferuje większy wzrost szybkości cieniowania.

Jest wiele problemów wspólnych dla tych wszystkich modeli interpolowanego cieniowania Oto kilka najważniejszych: szkielet wielokątowy, zakłócenia perspektywiczne, zależność od orientacji, wspólne wierzchołki, niereprezentatywne normalne związane z wierzchołkiem.

Szkielet wielokątowy. Niezależnie od tego, jak dobrą aproksymację powierzchni krzywoliniowej daje interpolowany model cieniowania, widoczny jest szkielet wielokątowy krawędzi siatki. Możemy tę sytuację poprawić dzieląc powierzchnię na większą liczbę mniejszych wielokątów, ale wiąże się to z odpowiednim wzrostem kosztów.

Wprowadzane są pewne anomalie, ponieważ interpolacja jest wykonywana po przekształceniu perspektywicznym w układzie współrzędnych ekranu 3D, a nie w układzie WC. Na przykład interpolacja liniowa powoduje, że parametr cieniowania na rysunku jest zwiększany o stałą wartość przy przejściu od linii do linii wzdłuż każdej krawędzi. Zastanówmy się, co się stanie, jeżeli wierzchołek 1 jest bardziej odległy niż wierzchołek 2.

Skrót perspektywiczny oznacza, że różnica między kolejnymi liniami nie przekształconej wartości z wzdłuż krawędzi wzrasta w kierunku dalszej współrzędnej. Dlatego jeżeli y s = (y 1 + y 2 )/2, to I s = (I 1 + I 2 )/2, ale z s nie będzie równocześnie równe (z 1 + z 2 )/2. Ten problem można zredukować korzystając z większej liczby mniejszych wielokątów. Zmniejszenie wielkości wielokątów zwiększa liczbę punktów, w których jest próbkowana informacja, która ma być interpolowana, i stąd wzrasta dokładność cieniowania.

Wyniki uzyskiwane za pomocą modeli cieniowania z interpolacją zależą od orientacji rzutowanych wielokątów. Ponieważ wartości są interpolowane między wierzchołkami, a następnie wzdłuż poziomych linii przeglądania, wyniki mogą się różnić przy obracaniu wielokąta (rysunek). Ten efekt jest szczególnie oczywisty, gdy orientacja zmienia się wolno między kolejnymi ramkami animacji.

Podobny problem może również wystąpić przy określaniu powierzchni widocznych, gdy wartość z w każdym punkcie jest interpolowana na podstawie wartości z przypisanych do każdego wierzchołka. Oba problemy można rozwiązać dekomponując wielokąty na trójkąty. Duff sugeruje metody interpolacji niezależne od obrotów, które rozwiązują ten problem bez potrzeby dekompozycji Są to jednak kosztowne metody.

Nieciągłości cieniowania mogą wystąpić wówczas, gdy dwa sąsiednie wielokąty nie mają wspólnego wierzchołka, który leży na ich wspólnej krawędzi. Weźmy pod uwagę trzy wielokąty z rysunku. Wierzchołek C jest wspólny dla dwóch wielokątów z prawej strony, nie jest natomiast wspólny dla dużego wielokąta z lewej strony. Informacja o cieniowaniu określona bezpośrednio w C dla wielokątów z prawej strony na ogół nie będzie taka sama jak informacja interpolowana w tym punkcie na podstawie wartości A i B dla wielokąta z lewej strony. W wyniku powstanie nieciągłość w cieniowaniu.

Nieciągłość tę można wyeliminować umieszczając w wielokącie z lewej strony dodatkowy wierzchołek, który niesie wspólną informację o cieniowaniu. W celu wyeliminowania tego problemu możemy wstępnie przetworzyć wielokątową bazę danych. Jeżeli wielokąty będą dzielone na bieżąco (to znaczy z wykorzystaniem algorytmu wyznaczania powierzchni widocznych z drzewem BSP), to można wprowadzić nowy wierzchołek do współdzielonej krawędzi.

Drzewo BSP (BSP - Binary Space Partition) - drzewo podziału binarnego przestrzeni jest to struktura danych stosowana w grafice komputerowej służąca do: opisywania wielokątów, nawet wielokątów "z dziurami umożliwia szybsze stwierdzenie czy punkt leży wewnątrz/na zewnątrz figury, co jest wykorzystywane m.in. w zadaniach interakcji z użytkownikiem w programach graficznych; opisywania brył zbudowanych z siatek wielokątów jednym z zastosowań jest wykonywanie na bryłach geometrycznych operacji boolowskich: suma, część wspólna, różnica opisywania całych scen trójwymiarowych łatwiejsza detekcja kolizji (istotne w grach komputerowych) łatwiejsze śledzenie promieni oraz usuwanie niewidocznych powierzchni

Drzewo BSP to drzewo binarne, które powstaje poprzez rekurencyjny podział przestrzeni za pomocą hiperpłaszczyzn (proste w przestrzeni 2D, płaszczyzny w 3D, itd.), W węźle drzewa znajduje się obiekt który leży na hiperpłaszczyźnie, natomiast w obu poddrzewach zapisane są wszystkie obiekty, które w całości leżą po danej stronie hiperpłaszczyzny. Jeśli obiektu nie da się zakwalifikować, musi zostać podzielony, tak aby stało się to możliwe. Na głębokość drzewa BSP oraz jego zrównoważenie ma wpływ wybór hiperpłaszczyzn dzielących.

Wadą drzew BSP jest powolny proces tworzenie takiej struktury. Dlatego nie nadają się do opisu np. dynamicznych scen trójwymiarowych, gdzie obiekty przemieszają się, są dodawane lub usuwane. Często jednak są stosowane rozwiązania hybrydowe Jeśli statyczna część sceny jest duża, wówczas jest ona opisywana za pomocą drzewa BSP, natomiast części ruchome (np. drzwi budynków, ściany które mogą zostać usunięte) przechowywane są w jakiś inny sposób.

Na rysunku powyżej pokazano, w jaki sposób tworzone jest drzewo BSP opisujące wielokąt wklęsły. Widać, że dwie krawędzie musiały zostać podzielone (e-d, f-g). W tym przykładzie proste dzielące pokrywają się z krawędziami figury (tak jest najczęściej). Czarne kwadraciki oznaczają puste poddrzewo.

Obliczone normalne związane z wierzchołkami mogą nie reprezentować dokładnie geometrii powierzchni. Na przykład, jeżeli obliczymy normalne związane z wierzchołkami na zasadzie uśredniania normalnych do powierzchni mających wspólny wierzchołek, to wszystkie normalne związane z wierzchołkiem z rysunku będą do siebie równoległe.

Da to w efekcie niewielką zmianę albo w ogóle brak zmiany w cieniowaniu dla odległego źródła światła Dalsza dekompozycja wielokątów przed obliczeniem normalnej związanej z wierzchołkiem rozwiąże ten problem.

Przedstawione problemy stymulowały wiele prac nad algorytmami bezpośredniego renderingu dla powierzchni krzywoliniowych. Algorytmy wielokątowe są jednak na tyle szybsze (i łatwiejsze), aby wciąż stanowić podstawę większości systemów renderingu.