Rendering obrazu 3D. Rendering. Synteza i obróbka obrazu
|
|
- Magda Rosińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Synteza i obróbka obrazu Rendering obrazu 3D Rendering Proces tworzenia dwuwymiarowego obrazu (np. na ekranie) na podstawie trójwymiarowego opisu nazywa się renderingiem. Na podstawie informacji wejściowych: geometrii sceny 3D (opisu obiektów i ich położenia na scenie), położenia i charakteru źródeł światła, położenia i kierunku patrzenia kamery (obserwatora) Podczas renderingu tworzony jest dwuwymiarowy obraz zdjęcie sceny.
2 Etapy renderingu Podstawowe etapy renderingu: przekształcenia (transformacje) sceny ustawienie źródeł światła rzutowanie na płaszczyznę widoku usuwanie niewidocznych powierzchni rasteryzacja obliczenie barwy każdego piksela obrazu cieniowanie nakładanie tekstur efekty specjalne Rendering etap wstępny Renderowanie całego świata 3D nie jest potrzebne. Interesuje nas tylko to, co będzie widać na zdjęciu. Dlatego przed etapem rasteryzacji (oświetlanie, cieniowanie, itp.) wykonuje się: wyznaczanie widoku ustawiamy świat tak, jak widzi go obserwator, obcięcie widoku wyrzucamy to co nie zmieści się w kadrze wyznaczanie powierzchni widocznych - wyrzucamy to co jest zasłonięte lub z tyłu,
3 Przekształcenia sceny Układ współrzędnych obiektu (lokalny, local space) prywatny układ wsp. danego obiektu. Układ wsp. świata (sceny, world space) opisuje scenę, na której rozmieszczane są poszczególne obiekty. Układ wsp. widoku (obserwatora, view space) - związany z widzem oglądającym scenę. Przekształcenia sceny: local world dla każdego obiektu (world tr.), world view dla całej sceny (view tr.) Przekształcenia sceny Współrzędne lokalne, świata i widoku
4 Przekształcenia geometryczne 2D Elementarne przekształcenia geometryczne modelu na płaszczyźnie (2D): translacja (przesunięcie) skalowanie obrót (rotacja) Opis punktu w układzie współrzędnych kartezjańskich: punkt (x,y) wektor P = [x y] zaczepiony w początku układu współrzędnych Translacja (przesunięcie) Translacja (translation) punktu (x,y) do punktu (x,y ): x = x + d x y = y + d y P = P + T x' x d = + y' y d x y
5 Skalowanie obiektu Skalowanie (scaling): x = s x x y = s y y x' sx = y' x s y y P = S P Skalowanie: jednorodne (s x = s y ) niejednorodne (s x s y ) Obrót obiektu Obrót (rotation) o kąt θ: x = x cos θ y sin θ y = x sin θ + y cos θ x' cosθ = y' sinθ sinθ x cosθ y P = R P
6 Składanie przekształceń Omówione przekształcenia mogą być dowolnie składane ze sobą. Przykład: obrót obiektu wokół punktu P 1 =(x 1,y 1 ): przesunięcie P 1 do (,) obrót o kąt θ przesunięcie (,) z powrotem do P 1 P 1 = T(x 1,y 1 ) R(θ) T(-x 1,-y 1 ) P 1 Składanie przekształceń Przykład 2: przesunięcie P 1 do (,) skalowanie obrót przesunięcie (,) do P 2 Składanie przekształceń nie jest przemienne!
7 Macierzowa reprezentacja przekształceń Przekształcenia: translacja: P = P + T skalowanie: P = S P obrót: P = R P Chcemy zapisać wszystkie operacje w postaci mnożeń macierzy łatwiej składać przekształcenia ze sobą. Używa się współrzędnych jednorodnych. Macierzowa reprezentacja przekształceń 2D przesunięcie: skalowanie: obrót: = y x d d y x y x = y x s s y x y x = 1 1 cos sin sin cos 1 y x y x θ θ θ θ
8 Przekształcenia afiniczne Przekształcenia afiniczne: zachowują równoległość linii (linie, które były równoległe do siebie, pozostają równoległe po przekształceniu); nie muszą zachowywać odległości i kątów Wszystkie omówione przekształcenia: translacja, skalowanie, obrót są afiniczne. Przekształcenia, które nie są afiniczne, nazywa się czasami przekształceniami deformującymi. Przekształcenia w trzech wymiarach Przekształcenia obiektów w trzech wymiarach opisywane są przez macierze przekształceń o wymiarach 4 x 4. Przekształcenia: translacja o (d x,d y,d z ) skalowanie o (s x,s y,s z ) obrót wokół osi x, y, z pochylenie na płaszczyźnie xy, xz, yz
9 Składanie przekształceń 3D Mnożenie macierzy przekształceń. Przykład: 1. Stan początkowy 2. Przesunięcie P 1 do (,,) 3. Obrót P 1 P 2 wokół osi y 4. Obrót P 1 P 2 wokół osi x 5. Obrót P 1 P 3 wokół osi z Macierze przekształceń 3D Translacja Skalowanie Obrót: oś x oś y oś z z y x T T T 1 z y x s s s 1 cos sin sin cos 1 θ θ θ θ 1 cos sin 1 sin cos θ θ θ θ 1 1 cos sin sin cos θ θ θ θ
10 Rzutowanie Rzutowanie (projection) - transformacja obiektów 3D w obiekty 2D; tworzenie płaskiego obrazu (zdjęcia) sceny 3D. Dwa zasadnicze rodzaje rzutów: rzut równoległy rzut perspektywiczny (ortographic projection), (perspective projection) Rzut równoległy Rzut równoległy nie zachowuje perspektywy, zachowuje kształt i rozmiar obiektów. Rodzaje rzutu równoległego (i przykłady): prostokątny ortogonalne: przedni, górny, boczny aksonometryczne: izometryczny ukośny Metoda stosowana raczej w projektowaniu CAD. Przy renderingu rzut równoległy jest prostszy, wystarczy pominąć współrzędne z.
11 Rzut równoległy Trzy rzuty prostokątne: Rzut ukośny: Rzut izometryczny kierunek rzutowania tworzy jednakowe kąty ze wszystkimi osiami Rzut izometryczny Rzut stosowany często w starszych grach komputerowych.
12 Rzut perspektywiczny Rzut perspektywiczny odwzorowuje sposób widzenia człowieka (skrót perspektywiczny). Wielkość rzutu zmniejsza się przy wzroście odległości między środkiem rzutowania a obiektem. Zniekształcane są kształty i wymiary obiektów. Rodzaje: jednopunktowy dwupunktowy trzypunktowy Bryła widzenia Bryła widzenia ograniczona jest: liniami od obserwatora do krawędzi widoku, przednią płaszczyzną obcinania, tylną płaszczyzną obcinania Elementy leżące poza bryłą widzenia są na późniejszym etapie obcinane (clipping).
13 Normalizacja współrzędnych widoku Po dokonaniu rzutowania perspektywicznego, współrzędne punktów są często konwertowane do układu znormalizowanego, tak że punkty wewnątrz bryły widzenia przyjmują wartości: współrzędne x, y z zakresu [-1, 1] współrzędna z (głębokość) z zakresu [, 1] z = : przednia płaszczyzna obcinania (najbliżej obserwatora), z = 1: tylna płaszczyzna obcinania (najdalej od obserwatora) Obcinanie widoku Obcinanie (clipping) usuwa elementy obiektów leżące poza bryłą widzenia. Rozpatrywane są kolejne trójkąty siatki. Trójkąt leży w całości wewnątrz bryły widzenia jest przepuszczany. Trójkąt leży w całości poza bryłą jest odrzucany. Trójkąt leży częściowo wewnątrz bryły jest dzielony na dwa, pozostaje tylko część zawarta wewnątrz bryły.
14 Wyznaczanie powierzchni widocznych Przy renderingu, trójkąt będący bliżej obserwatora musi zakryć trójkąt będący dalej (głębiej) w obrazie. Ponadto trójkąty mogą się przecinać i zasłaniać częściowo. Należy zastosować algorytm wyznaczania powierzchni widocznych. W kartach graficznych najczęściej stosuje się dwa etapy wyznaczania: wstępnie usunięcie tylnych powierzchni, podczas rasteryzacji wyznaczenie zasłoniętych powierzchni za pomocą bufora głębokości (z-buffer). Usuwanie tylnych ścian Można uprościć szukanie powierzchni widocznych poprzez eliminację wielokątów tylnych, które na pewno nie są widziane przez obserwatora. Ściany tylne wektory normalne skierowane od obserwatora są eliminowane Ściany przednie wektory normalne skierowane do obserwatora są zachowywane Operacja ta nazywa się backface culling.
15 Rasteryzacja Mamy teraz zbiór pustych trójkątów leżących na płaszczyźnie widoku. Rasteryzacja zajmuje się pokolorowaniem obrazu, czyli wyznaczeniem barwy każdego piksela. Przeprowadzane są takie operacje jak: cieniowanie teksturowanie wyznaczanie zasłaniania (bufor głębokości) wyznaczanie cieni przezroczystość (alpha blending) wszelkie inne efekty specjalne Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych obiektów Barwa każdego piksela ustalona na podstawie barwy zapisanje w werteksach oraz wpływu padającego światła
16 Rasteryzacja Mamy teraz płaski obraz 2D, ale dla każdego werteksa mamy informacje dotyczące sceny 3D: położenie (x, y, z) barwa (dla różnych typów światła) współrzędne tekstury (u, v) współrzędne wektora normalnego Wektor normalny (normalvector) jednostkowy wektor prostopadły do płaszczyzny. Wektor normalny wierzchołka uśredniony z wektorów normalnych sąsiednich trójkątów. Wektory normalne Wektory normalne trójkąta i werteksu
17 Cieniowanie Cieniowanie (shading) ustalanie barwy powierzchni obiektu na podstawie: kąta między kierunkiem padającego promienia światła a wektorem normalnym, odległości od źródła światła, właściwości powierzchni. Cieniowanie Analogia do rysunków ołówkowych
18 Źródła światła Wygląd końcowego obrazu będzie zależał od rodzaju i położenia źródeł światła. Dwa podstawowe typy źródła światła: światło otoczenia (ambient) - rozproszone, bezkierunkowe źródło światła (np. słoneczne) bezpośrednie (direct) źródło opisane przez: pozycję, kierunek, barwę Zwykle stosuje się kombinację źródła światła otoczenia oraz jednego lub więcej źródeł światła bezpośredniego. Źródła światła bezpośredniego Podstawowe typy źródeł światła bezpośredniego: punktowe (point) promienie rozchodzą się równomiernie we wszystkich kierunkach z jednego punktu kierunkowe (directional) źródło punktowe umieszczone dostatecznie daleko od oświetlanych obiektów, tak że promienie są równoległe reflektor (spotlight) promienie ze źródła punktowego są ograniczone przez stożek obszar (area) promienie ze źródła kierunkowego wysyłane z małego obszaru
19 Źródła światła bezpośredniego Punktowe Kierunkowe Reflektor Źródła światła (c.d.) Źródła światła są określone przez: typ pozycję (dla źródeł punktowych) kierunek (dla źródeł kierunkowych) barwę moc (zasięg) charakterystykę kierunkową (reflektory) Zjawiska związane ze światłem: zanikanie światła z odległością (np. odwrotnie kwadratowe) odbicia światła (rozpraszające, kierunkowe)
20 Materiały Materiał pokrywa powierzchnię siatki i określa jak światło wpływa na wygląd obiektu. Najczęściej charakter materiału opisywany jest w werteksach za pomocą barwy zdefiniowanej osobno dla każdego typu światła: barwa przy świetle otoczenia (ambient) barwa rozproszonego światła kierunkowego (diffuse) barwa odblasku światła kierunkowego (specular) definiuje powierzchnie gładkie ew. barwa światła emitowanego ew. stopień przezroczystości Przykłady obliczania barwy obiektu Barwa padającego światła ambient diffuse specular emmision Barwa zdefiniowana w werteksie Wynik dla danego światła Wynik łączny
21 Obliczanie barwy przykład praktyczny Zakładamy, że punkt powierzchni obiektu odbija: 5% światła czerwonego, 1% światła zielonego i 75% światła niebieskiego. W werteksie zapisujemy barwę światła rozproszonego (diffuse) jako (.5, 1.,.75). Niech padające światło kierunkowe ma 8% intensywności światła białego: (.8,.8,.8) Wynikowa barwa RGB werteksu jest iloczynem wektorowym obu wektorów: (.5, 1.,.75) (.8,.8,.8) = (.4,.8,.6) Prawo cosinusów Lamberta Cieniowanie wykorzystuje prawo Lamberta: intensywność odbitego światła jest wprost proporcjonalne do cosinusa kąta między kątem padania światła a wektorem normalnym do powierzchni odbijającej: f r r ( θ ) = max( cos θ,) = max( L n, ) L wektor jednostkowy padającego światła n wektor normalny
22 Wpływ kąta padającego światła Intensywność barwy obliczonej w poprzednim kroku dla światła kierunkowego jest modyfikowana (zmniejszana) w zależności od kąta padającego światła. Np. obliczona barwa: (.4,.8,.6) Kąt padania: 3 stopni cos(3) =.866 Zmodyfikowana barwa: (.35,.69,.52) Cieniowanie płaskie Cieniowanie płaskie (flat shading). Dla każdego wielokąta siatki, jego barwa jest obliczana tylko raz i używana do cieniowania całego wielokąta. Kolor wielokąta jest obliczany na podstawie: kąta między wektorem normalnym wielokąta a kierunkiem promienia światła, barwy powierzchni intensywności i barwy światła Widoczne są nieciągłości między wielokątami.
23 Cieniowanie Gourauda Cieniowanie Gourauda polega na interpolowaniu barwy. Eliminuje nieciągłości jasności sąsiednich wielokątów. Na podstawie wektorów normalnych dla każdego werteksu, obliczana jest barwa wierzchołków siatki. Interpolacja barwy: między wierzchołkami wzdłuż krawędzi między krawędziami wzdłuż rzędu pikseli (scanline) Cieniowanie Gourauda Cieniowanie płaskie Cieniowanie Gourauda Wadą algorytmu Gourauda są zniekształcenia w przypadku odblasków na powierzchni obiektu.
24 Odblaski zwierciadlane (specular) Odblask powstaje gdy światło kierunkowe odbija się od powierzchni obiektu i trafia do punktu obserwacji (do oka obserwatora ). Cieniowanie Phonga Cieniowanie Phonga daje lepsze rezultaty w porównaniu z cieniowaniem Gourauda pod względem odwzorowania odblasków na powierzchni obiektu (zwłaszcza przy animacji). Znacznie większa złożoność konieczność obliczania wektora normalnego dla każdego piksela.
25 Cieniowanie Phonga Cieniowanie z interpolacją wektora normalnego. Interpoluje wektor normalny, nie barwę. Interpolacja wektora normalnego wzdłuż krawędzi Interpolacja wektora normalnego między krawędziami Cieniowanie z użyciem interpolowanego wektora Porównanie metod cieniowania brak Flat Gouraud Phong
26 Odwzorowanie szczegółów powierzchni Zastosowanie modeli cieniowania do siatki wielokątowej pozwala uzyskać tylko gładkie, jednolite powierzchnie. Najprostszy sposób odwzorowania szczegółów: za pomocą drobnych wielokątów. Jest to metoda bardzo nieefektywna. Najczęściej stosuje się pokrywanie powierzchni wielokątów obrazami bitowymi - teksturami. Tekstury Przykład - scena bez teksturowania (tylko cieniowanie) oraz z nałożeniem tekstur
27 Tekstury Tekstura jako bitmapa oraz nałożona na siatkę wielokątową obiektu Odwzorowanie tekstury Odwzorowanie tekstury ang. texture mapping Odniesienie współrzędnych tekstury (2D) do współrzędnych siatki wielokątowej (3D). Tekstura (texture) dwuwymiarowa mapa bitowa zawierająca pewien obraz. Teksel (texel) każdy piksel tekstury. Mapa tekstury jest określona we własnym układzie współrzędnych (u, v). Konieczność przeznaczenia dużego obszaru pamięci na przechowywanie tekstur.
28 Odwzorowanie tekstury Współrzędne tekstury: oznaczane jako (u, v) unormowane do zakresu [; 1] dla werteksa siatki podajemy współrzędne tekstury współrzędna z zakresu (; 1) pobierana z wnętrza tekstury współrzędna większa niż 1 tekstura jest powielana Zwykle jedną teksturę nakłada się na grupę wielokątów. Odwzorowanie tekstury Jak to działa: mamy współrzędne piksela znajdujemy współrzędne w układzie obiektu dla punktu, który ma być narysowany znajdujemy współrzędne teksela tekstury nałożonej na rysowany wielokąt próbkujemy kolor tekstury we wskazanym miejscu łączymy z wynikiem cieniowania kolorujemy piksel
29 Odwzorowanie tekstury Przykład: MIP mapping Jeżeli tekstura jest za mała jest ona powiększana ( pikseloza ). Jeżeli jest za duża konieczność zmniejszenia, utrata szczegółów, aliasing. MIP mapping przechowywanych jest kilka (np. 8) wersji tekstury o różnych rozmiarach (rozdzielczościach). Rozmiar tekstury jest dobierany w zależności od tego jak dużą powierzchnię ma pokryć tekstura. Tekstury MIP mogą być przygotowane przez twórców lub generowane automatycznie.
30 MIP mapping Przykłady tekstur w różnych rozdzielczościach Tekstura powiększona (bez MIP) Filtrowanie tekstur Wyliczamy współrzędne teksela. Jaki pobieramy kolor dla piksela? Bezpośrednie pobranie koloru teksela nearest-point sampling jest najszybsze, ale powoduje artefakty, widoczne są pojedyncze piksele. Filtrowanie tekstury kolor piksela jest obliczany metodą uśrednienia koloru kilku sąsiednich tekseli. Powoduje to wygładzenie tekstury.
31 Filtrowanie tekstur Point sampling Filtracja dwuliniowa Filtrowanie tekstur Przykład: brak filtrowania tekstur (point sampling) oraz tekstury filtrowane
32 Filtrowanie tekstur Filtrowanie dwuliniowe (bilinear filtering) wyznaczanie wartości każdego piksela przez uśrednienie wartości czterech (lub więcej) sąsiednich tekseli. Filtrowanie trójliniowe (trilinear filtering) uśrednianie tekseli z dwóch tekstur (MIP-maps) o różnych rozdzielczościach Filtrowanie anizotropowe (anisotropic filtering) jak trójliniowe, ale uśrednia teksele z obszaru zależnego od kąta nachylenia wielokąta i jego odległości Filtracja anizotropowa Anizotropowy zależny od kierunku. F. anizotropowa bierze pod uwagę kąt, pod którym widz patrzy na teksturowaną powierzchnię (różne skalowanie tekstury w kierunku u i v). Potrzebne są dodatkowe poziomy mip-mappingu. Znaczne zwiększenie złożoności więcej obliczeń, większe zużycie zasobów. F. trójliniowa F. anizotropowa
33 Filtracja anizotropowa Tekstura o wysokiej rozdzielczości jest skalowana niejednorodnie, np. 2:1 i 1:2 Rząd filtracji liczba kolejnych przeskalowań (np. 16 maksymalne zmniejszenie 16 razy) Skalowanie odbywa się w trakcie rasteryzacji Duża złożoność, np. rząd filtracji 16 liczba uśrednianych tekseli: = 128 Filtrowanie tekstur Przykłady filtrowania tekstur: dwuliniowe trójliniowe anizotropowe
34 Tekstury a cieniowanie Oblicza się cieniowanie tak, jakby nie było tekstury. Nakłada się teksturę. Barwa piksela jest iloczynem barwy teksela i barwy obliczonej podczas cieniowania. Aby nie zabarwiać tekstury, barwa światła rozproszonego powinna być biała (1, 1, 1) wtedy uzyskamy zróżnicowanie intensywności tekstury pod wpływem padającego światła. Można ustawić inną barwę w werteksie wtedy zabarwimy teksturę. Tekstury jako tło (pre-rendered background) W niektórych grach komputerowych jedynie obiekty na pierwszym tle są obiektami 3D, renderowanymi w czasie rzeczywistym. Tło (scenografia) jest mapą bitową, uzyskaną poprzez rendering na etapie produkcji gry. Upraszcza to rendering w czasie grania kosztem mniej realistycznej grafiki.
35 Skybox Skybox jest techniką stosowaną w grach komputerowych. Gracz i jego otoczenie poruszają się wewnątrz sześcianu, którego ściany są pokryte teksturą, np. obrazem nieba. Odwzorowanie nierówności powierzchni Tekstury są zawsze gładkie. Nałożenie na obiekt tekstury przedstawiającej np. mur z cegły nie da realistycznego efektu. Kierunek oświetlenia przy tworzeniu tekstury jest inny niż w końcowej scenie. Mapowanie nierówności (bump mapping) technika pozwalająca uzyskać wrażenie nierówności powierzchni poprzez symulację przesunięcia wybranych pikseli na osi z do przodu lub do tyłu przy pomocy mapy przesunięcia (mapy nierówności), zwykle zawartej w czwartym kanale tektstury.
36 Odwzorowanie nierówności powierzchni Mapa nierówności tekstury: dodatkowa tekstura, jednokanałowa. Wartość piksela mapy odpowiada wypukłości piksela tekstury. Bez mapowania Mapa nierówności Wynik Bump mapping Dwie najczęstsze realizacje BM: prostsza (emboss BM) sumuje się teksturę z jej kopią, przesuniętą wg mapy nierówności i przyciemnioną; metoda stosowana np. w prostszych w grach; bardziej złożona, ale dokładniejsza modyfikuje się wektory normalne w każdym z punktów, wg mapy nierówności, po czym oblicza się wpływ światła; metoda stosowana przy cieniowaniu Phonga oraz w algorytmach typu raytracing.
37 Bump maping przykład Torus bez odwzorowania powierzchni i z wykorzystaniem techniki bump mapping Normal mapping Normal mapping, nazywane też Dot3 bump mapping, to odmiana metody mapowania nierówności powierzchni: wektory normalne nie są modyfikowane, lecz zastępowane wektorami zapisanymi w mapie nierówności, mapa nierówności nie jest monochromatyczna, lecz zawiera informacje dla trzech kanałów RGB Bardziej dokładne odwzorowanie powierzchni; wymaga stosowania cieniowania Phonga.
38 Normal mapping Za pomocą metody normal mapping można uzyskać dokładniejszy wygląd obiektu za pomocą mniej złożonej siatki wielokątowej. Displacement mapping Displacementmapping odwzorowanie przemieszczeń zamiast imitować nierówności, metoda tworzy prawdziwe nierówności: siatka trójkątów dzielona jest na mniejsze trójkąty siatka jest deformowana zgodnie z mapą przemieszczeń, na zdeformowaną siatkę nakładana jest tekstura, która układa się na wygiętej powierzchni. Musi być zastosowane na etapie przekształceń siatki, przed rasteryzacją!
39 Parallax mapping Parallax mapping - jeden z najnowszych algorytmów odwzorowania nierówności. Służy głównie do odwzorowania obiektów typu otwór po pocisku. Polega na nałożeniu na teksturę jej kopii, przekształconej przez funkcję zależną od informacji zapisanej w mapie wysokości i od kierunku obserwacji. Inne nazwy: Photonic Mapping, Offset Mapping, Virtual Displacement Mapping Odbicia pomiędzy obiektami Dla zwiększenia realizmu modeluje się odbicie innych obiektów na powierzchni innego obiektu. Przykład: odbicie pokoju na powierzchni lustra lub szklanej kuli. Konieczność uwzględnienia deformacji. Dwa podejścia: matematyczne wyznaczanie odbitych obiektów i ich renderowanie, tworzenie dynamicznej tekstury obrazującej odbicia i nakładanie jej na powierzchnię odbijającą
40 Proste odbicia lustrzane Efekt odbicia w lustrze: renderowana jest scena bez odbić, tworzona jest maska, wyznaczająca piksele należąca do powierzchni lustra, obliczane są pozycje odbitych obiektów tylko dla pikseli nie przykrytych maską renderowane jest odbicie odbicie w lustrze lustro obiekt Environment mapping Bardziej złożony algorytm nosi nazwę reflection mapping (mapowanie odbić) lub environment mapping (mapowanie środowiska). Mapowane środowisko traktowane jest jako dynamiczna tekstura, która jest obliczana w czasie rzeczywistym, a następnie nakładana na powierzchnię odbijającą. Tekstury są tworzone dokonując renderingu z punktu widzenia obiektu zwierciadlanego.
41 Environment mapping Dwie zasadnicze metody mapowania środowiska: mapowanie sferyczne (spherical EM) tekstura jest zdejmowana z kuli, która znajduje się nieskończenie daleko od obiektu, w którym się ona odbija ( rybie oko ) mapowanie kubiczne (cubic EM) obiekt znajduje się wewnątrz sześcianu, którego ściany zawierają tekstury będące odbiciem środowiska Zaawansowane techniki mapowania EMBM Environment-Mapped Bump Mapping Nałożenie na siebie: tekstury, mapy nierówności (bump map) mapy środowiska (environment map) Przykładowe efekty: odbicia w zafalowanej wodzie odbicia na powierzchni rozgrzanego asfaltu jezdni
42 Zasłanianie obiektów Różne obiekty mogą się zasłaniać nawzajem. Chcemy narysować te fragmenty, które są widoczne (są najbliżej obserwatora). Mamy informację o współrzędnej z wierzchołków siatki wielokątowej. Moglibyśmy wyznaczyć trójkąt, który jest bliżej obserwatora i narysować go. Ale co zrobić gdy trójkąty przecinają się ze sobą? Algorytm malarza Algorytm malarza (painter s algorithm) - naiwne podejście do problemu zasłaniania. Wszystkie obiekty są sortowane wg. położenia na osi z. Obiekty są malowane w kolejności od położonych najgłębiej do położonych najbliżej Algorytm nie radzi sobie z przecinającymi się płaszczyznami.
43 Algorytm bufora głębokości (z-buffer) Potrzebne dwa obszary pamięci o takim samym rozmiarze: pamięć obrazu F wartość barwy bufor z wartość z dla każdego piksela F Schemat działania: inicjalizacja bufora z (maksymalna głębokość) przeglądanie kolejnych trójkątów, piksele wiersz po wierszu jeżeli współrzędna z punktu jest większa od zapisanej w buforze, bufor jest uaktualniany nową wartością, a piksel jest wpisywany do pamięci obrazu. Algorytm bufora głębokości Ilustracja działania metody
44 Algorytm bufora głębokości Przykład obrazu i bufora głębokości. Implementacja bufora z w kartach graficznych: sprzętowa, bufor 24-bitowy lub 32-bitowy (przy 16 bitach występują zniekształcenia). Bufory głębokości z-buffer i w-buffer Bufor z (z-buffer) bazuje na unormowanych współrzędnych z. Rozkład tych współrzędnych jest nieliniowy większość przypada na początkowy zakres. Może te powodować błędy w planach bliskich (przenikanie się obiektów). Bufor w (w-buffer) eliminuje te błędy kosztem większej złożoności obliczeniowej. Wykorzystuje współrzędne w obliczane podczas przekształcenia (rzutowania) perspektywicznego.
45 Cienie obiektów Cienie dodają realizmu i pozwalają ustalić położenie obiektów. Shadow mapping Algorytm mapowania cieni (shadow mapping, texture shadows): wyznaczenie mapy cieni - dokonuje się renderingu (bez wyznaczania koloru) z punktu widzenia źródła światła, zapisuje się wynik w mapie cieni; rendering bez uwzględnienia cieni; projekcja mapy cieni na obraz; rendering w miejscach, w których nie ma cieni uwzględnienie świateł Należy odróżniać shadow mapping od cieniowania (shading).
46 Shadow mapping Wyznaczenie mapy cieni: uproszczony rendering z punktu widzenia źródeł światła tylko wyznaczenie głębokości (z), pominięcie informacji o barwie rzutowanie: ortogonalne dla światła kierunkowego, perspektywiczne dla św. punktowego mapa cieni obraz jednokanałowy, zwykle zapisywany w pamięci tekstur Shadow mapping Pierwszy rendering tylko światło otoczenia, cała scena w cieniu Projekcja mapy cienia na płaszczyznę obrazu Dla każdego piksela przeprowadza się depth test czy ten piksel jest w cieniu Rendering z uwzględnieniem świateł tylko dla pikseli, dla których depth test się powiedzie oświetlone piksele Pozostałe piksele zostają w cieniu Uwaga: jeżeli mamy wiele źródeł światła, mapa cieni musi być wyznaczona dla każdego z nich.
47 Shadow mapping Obraz bez cieni Wyznaczenie mapy cieni Projekcja mapy cieni Obraz z cieniami Shadow volume Shadow volume (stencil shadows): wyznaczenie bryły cienia - za pomocą linii łączących źródło światła z werteksami wielokątów, piksele wewnątrz bryły będą w cieniu; dla każdego źródła światła tworzona jest maska, zapisywana w buforze maski (stencil buffer), maska ma otwory w miejscach, w których nie ma cienia; przyciemnienie pikseli oznaczonych maską.
48 Shadow volume Dla każdego źródła światła: wyznaczenie wielokątów siatki skierowanych w stronę źródła światła, połączenie ich w sylwetkę (silhouette), wyznaczenie bryły cienia dla całej sylwetki, ew. obcięcie bryły cienia z przodu / z tyłu, wyznaczenie pikseli leżących wewnątrz bryły cienia, oznaczenie tych pikseli w buforze maski (stencil buffer). Shadow volume Nakładanie cieni: rendering bez uwzględnienia światła kierunkowego (tylko światło otoczenia, cała scena w cieniu); wyznaczenie maski cieni dla wszystkich źródeł światła i wszystkich obiektów; rendering z uwzględnieniem światła kierunkowego tylko dla pikseli nie przykrytych maską.
49 Shadow volume Przykład: Porównanie metod tworzenia cieni Shadow mapping: mniejsza złożoność, możliwość rozmycia krawędzi cieni, ograniczona dokładność (do piksela) zwłaszcza dla długich cieni. Shadow volume: znacznie bardziej złożona (szczególnie dla dużej liczby wielokątów), bardziej dokładna (mniejsze zniekształcenia), daje cienie o ostrych krawędziach. Tworzenie cieni spowalnia rasteryzację.
50 Przezroczystość Powierzchnie mogą być przezroczyste lub półprzezroczyste (np. szkło) mogą częściowo przepuszczać światło. Obiekty zasłaniane mogą być więc częściowo widoczne. Powierzchnie przezroczyste obiekty za nimi są widoczne z ew. lekkim załamaniem promieni światła Powierzchnie półprzezroczyste promienie światła zmieniają kierunki (załamanie), obiekty z tyłu są rozmazane Przezroczystość bez załamań Nie uwzględniane są zjawiska związane z załamaniem promieni światła. Efekt nie jest realistyczny, ale często efekt jest bardziej użyteczny niż w metodzie z załamaniami. Przezroczystość interpolowana (alpha blending) kombinacja barwy piksela obliczonej dla wielokąta zasłaniającego i zasłanianego, biorąc pod uwagę współczynnik przezroczystości, np.: K = αk 1 + (1-α)K 2 Przezroczystość filtrowana wielokąt traktowany jest jak filtr przezroczysty, który selektywnie przepuszcza różne długości fali
51 Przezroczystość z załamaniem Uwzględnienie załamań promieni światła jest trudniejsze różnica linii widzenia geometrycznej i optycznej. Konieczność modelowania dyspersji różny kąt załamania dla fal o różnej długości fali. Modelowanie polega na obliczaniu wektora załamania promieni światła. Efekty atmosferyczne Atmospheric effect modyfikacja oświetlenia spowodowana działaniem efektów takich jak: mgła dym ogień opary falowanie rozgrzanego powietrza deszcz zmętnienie lustra wody refleksy świetlne rozmycie ruchu
52 Systemy cząsteczkowe Systemy cząsteczkowe (particle system) służą do generowania efektów takich jak ogień, dym, chmury, iskry i inne trudne do uzyskania klasycznymi metodami renderingu. Definicja emitera pozycja, szybkość generowania cząsteczek, kierunek, czas życia, zmiany koloru, itp. Symulacja tworzenie kolejnych etapów rozwoju systemu Rendering rysowanie cząsteczek Systemy cząsteczkowe Każda cząsteczka posiada parametry, np. pozycja kierunek (algorytm + losowy) stan (np. rodzaj, aktywność) czas życia (po którym cząsteczka ginie) Sama cząsteczka jest albo pojedynczym pikselem, albo niewielką teksturą (sprite), nakładaną na obraz w obliczonej pozycji. Obliczanie systemów cząsteczkowych jest czasochłonne i może zwolnić renderowanie obrazu (spadek fps np. gdy pojawia się dym)
53 Odwzorowanie mgły Efekt mgły (fog) symuluje widoczność obiektów w naturze: bliższe obiekty są bardziej wyraźne dalsze obiekty są bardziej przysłonięte przez mgłę. Brak efektu mgły Symulacja mgły Odwzorowanie mgły Metody symulacji mgły: Fog Table (PixelFog) starsza metoda, obliczenia wykonywane są dla każdego piksela przy pomocy informacji o głębi piksela zapisanej w buforze. Jest to efekt dodatkowy, nakładany na wynik rasteryzacji. Fog Vertex efekt mgły obliczany jest dla każdego wierzchołka wielokąta, a następnie aproksymowany dla pikseli wielokąta, po czym jest on uwzględniany przy ustalaniu barwy piksela. Ta metoda jest częścią renderingu.
54 Oświetlenie wolumetryczne Volumetric lighting Algorytm umożliwiający uzyskanie efektu promieni światła prześwitujących np. przez chmury lub przez okno. Strumień światła ze źródła jest traktowany jako przezroczysty stożek, posiadający pewną objętość. Obiekty znajdujące się wewnątrz tego stożka (dym, chmury, para wodna) mają możliwość przepuszczania światła. Okluzja otoczenia Okluzja otoczenia (ambient occlusion) - zaciemnienie obszarów w zagłębieniach, kątach oraz pod i pomiędzy powierzchniami.
55 Inne efekty Caustic promienie światła odbite lub załamane przez zakrzywioną powierzchnię, np. światło na wodzie. Inne efekty Subsurface scattering efekt promieni świetlnych, które wnikają do obiektu, odbijają się kilkakrotnie, po czym opuszczają obiekt. Metoda pozwala symulować wygląd np. skóry człowieka czy przedmiotów z marmuru.
56 Inne efekty Lens flare zjawisko odbicia światła w systemie soczewek. Motion blur rozmycie obiektów szybko poruszających się Głębia ostrości (depth of field) rozmycie obiektów znajdujących się poza pierwszym planem Antialiasing Przy rasteryzacji na krawędziach wielokątów siatki powstają efekty aliasingu, widoczne w postaci ząbkowanych linii. Antialiasing- procedura redukująca te zniekształcenia, zwykle realizowana sprzętowo
57 Supersampling Supersampling najprostsza metoda antialiasingu. Polega na wykonaniu renderingu w n razy większej rozdzielczości (n= 2, 4, 8). Przeskalowanie w dół do docelowej rozdzielczości powoduje rozmycie krawędzi. Wada: znaczne wydłużenie renderingu (wyznaczanie barwy dla każdego piksela obrazu w zwiększonej rozdzielczości). Multisampling (MSAA) Zoptymalizowana metoda: każdy piksel dzielony na n subpikseli, dla każdego subpiksela wyznaczamy: pokrycie (coverage) przez wielokąt, zasłonięcie (occlusion) przez inne w., barwa wyznaczana jest dla całego piksela i zapisywana dla wszystkich subpikseli pokrytych przez w. i nie zasłoniętych, wynikowa barwa piksela uśrednienie barw wszystkich subpikseli za pomocą filtru.
58 Multisampling (MSAA) Przykład: bez AA MSAA źródło: Multisampling (MSAA) Powiększony przykład dla MSAA różnego stopnia źródło:
59 Podsumowanie Jakie informacje potrzebne do renderingu są zapisywane w werteksie siatki: współrzędne werteksu w układzie obiektu współrzędne wektora normalnego werteksu współrzędne powiązanej tekstury barwa materiału: światło otoczenia (ambient) światło rozproszone odblask zwierciadlany światło emitowane (rzadko) przezroczystość (rzadko) Podsumowanie Ustawienia gry wydłużające czas renderingu (a więc zmniejszające fps): duża rozdzielczość obrazu, filtracja tekstur (zwłaszcza anizotropowa), stopień filtracji, antialiasing, jego stopień (2, 4, 8), odległość rysowania (distance draw), rysowanie cieni, mgła, efekty cząsteczkowe dym, ogień, efekty specjalne np. subsurface scattering, odbicia zwierciadlane.
60 Bibliografia Microsoft: Dokumentacja DirectX 9.c Frank D. Luna: Introduction to 3D Game Programming with DirectX 9.c A Shader Approach. Wordware Publishing, 26 Wendy Jones: Beginning DirectX. Premier Press, 24 Jeremy Birn: Cyfrowe oświetlenie i rendering. Helion 27 J. Foley, A. van Dam, S. Feiner, J. Hughes, R. Phillips: Wprowadzenie do grafiki komputerowej. WNT, 21 K. Ghazi: The Gamer's Graphics & Display Settings Guide. Wikipedia: Internet Materiały wyłącznie do użytku wewnętrznego dla studentów przedmiotu Synteza dźwięku i obrazu, prowadzonego przez Katedrę Systemów Multimedialnych Politechniki Gdańskiej. Wykorzystywanie do innych celów oraz publikowanie i rozpowszechnianie zabronione. This presentation is intended for internal use only, for students of Multimedia Systems Department, Gdansk University of Technology, attending the Sound and image synthesis course. Other uses, including publication and distribution, are strictly prohibited.
Efekty dodatkowe w rasteryzacji
Synteza i obróbka obrazu Efekty dodatkowe w rasteryzacji Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Efekty dodatkowe Cieniowanie i teksturowanie pozwala
Bardziej szczegółowoSynteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych
Synteza i obróbka obrazu Tekstury Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Tekstura Tekstura (texture) obraz rastrowy (mapa bitowa, bitmap) nakładany na
Bardziej szczegółowoOświetlenie obiektów 3D
Synteza i obróbka obrazu Oświetlenie obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych
Bardziej szczegółowoSYNTEZA OBRAZU. Rendering obrazu 3D
Synteza dźwięku i obrazu SYNTEZA OBRAZU Rendering obrazu 3D Rendering Proces tworzenia dwuwymiarowego obrazu (np. na ekranie) na podstawie trójwymiarowego opisu nazywa się renderingiem. Na podstawie informacji
Bardziej szczegółowoTransformacje obiektów 3D
Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy
Bardziej szczegółowoGrafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38
Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego
Bardziej szczegółowoGRK 4. dr Wojciech Palubicki
GRK 4 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection
Bardziej szczegółowoOświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.
Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy
Bardziej szczegółowoPlan wykładu. Akcelerator 3D Potok graficzny
Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D
Bardziej szczegółowoAnimowana grafika 3D. Opracowanie: J. Kęsik.
Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie
Bardziej szczegółowo0. 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
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 obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi
Bardziej szczegółowoAnimowana grafika 3D. Opracowanie: J. Kęsik.
Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie
Bardziej szczegółowoFiltrowanie tekstur. Kinga Laurowska
Filtrowanie tekstur Kinga Laurowska Wprowadzenie Filtrowanie tekstur (inaczej wygładzanie) technika polegająca na 'rozmywaniu' sąsiadujących ze sobą tekseli (pikseli tekstury). Istnieje wiele metod filtrowania,
Bardziej szczegółowoGrafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23
Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)
Bardziej szczegółowoProgramowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe
Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Czym są tekstury? Tekstury są tablicowymi strukturami danych o wymiarze od 1 do 3, których elementami są tzw. teksele.
Bardziej szczegółowoArchitektura Komputerów
Studia Podyplomowe INFORMATYKA Techniki Architektura Komputerów multimedialne Wykład nr. 9 dr Artur Bartoszewski Rendering a Ray Tracing Ray tracing (dosłownie śledzenie promieni) to technika renderowania
Bardziej szczegółowoGrafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30
Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego
Bardziej szczegółowoModel oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
Model oświetlenia Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obliczenie koloru powierzchni (ang. Lighting) Światło biegnie od źródła światła, odbija
Bardziej szczegółowoTrójwymiarowa grafika komputerowa rzutowanie
Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie
Bardziej szczegółowoGRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu
GRAKO: ŚWIATŁO I CIENIE Metody oświetlania Metody cieniowania Przykłady OŚWIETLENIE: elementy istotne w projektowaniu Rozumienie fizyki światła w realnym świecie Rozumienie procesu percepcji światła Opracowanie
Bardziej szczegółowoGry komputerowe: efekty specjalne cz. 2
1/43 Gry komputerowe: efekty specjalne cz. 2 Przygotowała: Anna Tomaszewska 2/43 Mapowanie środowiska - definicja aproksymacje odbić na powierzchnie prosto- i krzywoliniowej," oświetlanie sceny." obserwator
Bardziej szczegółowoTransformacje. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat Cel wykładu Celem wykładu jest prezentacja m.in. przestrzeni modelu, świata, kamery oraz projekcji, a także omówienie sposobów oświetlania i cieniowania obiektów. Pierwsze
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Rendering Na przygotowane w fazie operacji geometrycznych złożone z trójkątów szkieletowe bryły akcelerator
Bardziej szczegółowo1. Prymitywy graficzne
1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy
Bardziej szczegółowoGrafika komputerowa Tekstury
. Tekstury Tekstury są dwuwymiarowymi obrazkami nakładanymi na obiekty lub ich części, w celu poprawienia realizmu rysowanych brył oraz dodatkowego określenia cech ich powierzchni np. przez nałożenie obrazka
Bardziej szczegółowoGRK 5. dr Wojciech Palubicki
GRK 5 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection
Bardziej szczegółowoArchitektura systemów komputerowych Ćwiczenie 3
Architektura systemów komputerowych Ćwiczenie 3 Komputer widziany oczami użytkownika Karta graficzna DirectX technologie łączenia kart 1 dr Artur Bartoszewski - Architektura systemów komputerowych - ćwiczenia
Bardziej szczegółowoGrafika komputerowa. Dr inż. Michał Kruk
Grafika komputerowa Dr inż. Michał Kruk Teksturowanie Pokrywanie powierzchni brył wzorami. Dla realizacji takich zadań w grafice najczęściej korzysta się z koncepcji teksturowania powierzchni. Ogólnie
Bardziej szczegółowoGrafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor
Model oświetlenia emisja światła przez źródła światła interakcja światła z powierzchnią absorbcja światła przez sensor Radiancja radiancja miara światła wychodzącego z powierzchni w danym kącie bryłowym
Bardziej szczegółowoBartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki
Bardziej szczegółowoĆwiczenia nr 4. TEMATYKA: Rzutowanie
TEMATYKA: Rzutowanie Ćwiczenia nr 4 DEFINICJE: Rzut na prostą: rzutem na prostą l (zwaną rzutnią) w kierunku rzutowania k (k l) nazywamy przekształcenie płaszczyzny przyporządkowujące: a) Punktom prostej
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Obraz realistyczny Pojęcie obrazu realistycznego jest rozumiane w różny sposób Nie zawsze obraz realistyczny
Bardziej szczegółowoGRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu
GRAFIKA KOMPUTEROWA 1. Układ przedmiotu semestr VI - 20000 semestr VII - 00200 Dr inż. Jacek Jarnicki Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl
Bardziej szczegółowoUstawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.
Ustawienia materiałów i tekstur w programie KD Max. 1. Dwa tryby własności materiału Materiał możemy ustawić w dwóch trybach: czysty kolor tekstura 2 2. Podstawowe parametry materiału 2.1 Większość właściwości
Bardziej szczegółowoZjawisko widzenia obrazów
Zjawisko widzenia obrazów emisja światła przez źródła światła interakcja światła z powierzchnią absorbcja światła przez sensor Źródła światła światło energia elektromagnetyczna podróżująca w przestrzeni
Bardziej szczegółowoGRK 5. dr Wojciech Palubicki
GRK 5 dr Wojciech Palubicki Projekty (dwu-osobowe) Napisać symulacje lotu kosmicznego w OpenGLu: Korzystając tylko z bibliotek które na ćwiczeniach zostały omówione Interaktywna symulacja Wszystkie wielokąty
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Cieniowanie Bardzo ważnym elementem sceny jest oświetlenie. To właśnie odpowiednie dobranie oświetlenia sprawia,
Bardziej szczegółowoWykład 4. Rendering (1) Informacje podstawowe
Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie
Bardziej szczegółowoZ ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne
46 III. Przekształcenia w przestrzeni trójwymiarowej Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne Złożone obiekty trójwymiarowe można uważać,
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:
Bardziej szczegółowoGrafika komputerowa Wykład 10 Modelowanie oświetlenia
Grafika komputerowa Wykład 10 Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1 2 3 Spis treści Spis treści 1 2 3 Spis
Bardziej szczegółowoRENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski
RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Rendering cieni wprowadzenie Cienie w grafice komputerowej Rendering off-line i rendering w czasie rzeczywistym Cienie rozmyte i ostre Mapy
Bardziej szczegółowo1. 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
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 (2,0), (5,6) narysowany przy wykorzystaniu algorytmu Bresenhama
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Cieniowanie Bardzo ważnym elementem sceny jest oświetlenie. To właśnie odpowiednie dobranie oświetlenia sprawia,
Bardziej szczegółowoGrafika Komputerowa. Wykład 8. Przygotowanie do egzaminu. mgr inż. Michał Chwesiuk 1/32
Grafika Komputerowa Wykład 8 Przygotowanie do egzaminu mgr inż. 1/32 Obraz Grafika Rastrowa Grafika Wektorowa Obraz przechowywany w pamięci w postaci próbki opisane za pomocą macierzy pikseli Każdy piksel
Bardziej szczegółowoSynteza i obróbka obrazu. Algorytmy oświetlenia globalnego
Synteza i obróbka obrazu Algorytmy oświetlenia globalnego Algorytmy oświetlenia Algorytmy oświetlenia bezpośredniego (direct illumination) tylko światło poadające bezpośrednio na obiekty, mniejszy realizm,
Bardziej szczegółowoScena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)
Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do wygenerowania obrazu wyj$ciowego 2D. Cieniowanie (ang. Shading) Rados"aw Mantiuk Wydzia" Informatyki Zachodniopomorski Uniwersytet Technologiczny
Bardziej szczegółowoKarty graficzne możemy podzielić na:
KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera
Bardziej szczegółowoRENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski
RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Obiekty półprzeźroczyste wprowadzenie Test alfa, odrzucanie Mieszanie alfa Obiekty naklejane, ang. decals Konwersja próbki punktowe obraz
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia
Bardziej szczegółowoPodstawy grafiki komputerowej
Podstawy grafiki komputerowej Krzysztof Gracki K.Gracki@ii.pw.edu.pl tel. (22) 6605031 Instytut Informatyki Politechniki Warszawskiej 2 Sprawy organizacyjne Krzysztof Gracki k.gracki@ii.pw.edu.pl tel.
Bardziej szczegółowoRENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski
RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Opóźnione cieniowanie wprowadzenie Koszt obliczeniowy cieniowania Cieniowanie jedno- i wieloprzebiegowe Cieniowanie opóźnione Schemat opóźnionego
Bardziej szczegółowoa. Czym różni się sposób liczenia odbicia zwierciadlanego zaproponowany przez Phonga od zaproponowanego przez Blinna?
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
Bardziej szczegółowoArchitektura Procesorów Graficznych
Architektura Procesorów Graficznych Referat: Rendering 3D: potok 3D, możliwości wsparcia sprzętowego, możliwości przyspieszenia obliczeń. Grupa wyrównawcza Cezary Sosnowski 1. Renderowanie Renderowanie
Bardziej szczegółowoGrafika komputerowa Wykład 4 Geometria przestrzenna
Grafika komputerowa Wykład 4 Geometria przestrzenna Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1 Geometria 3D - podstawowe
Bardziej szczegółowo1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu
1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu pomiędzy warstwami. c. Sposób tworzenia modeli 2D d.
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia
Bardziej szczegółowoObraz jako funkcja Przekształcenia geometryczne
Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych
Bardziej szczegółowoWSTĘP DO GRAFIKI KOMPUTEROWEJ
WSTĘP DO GRAFIKI KOMPUTEROWEJ Miłosz Michalski Institute of Physics Nicolaus Copernicus University Październik 2015 1 / 15 Plan wykładu Światło, kolor, zmysł wzroku. Obraz: fotgrafia, grafika cyfrowa,
Bardziej szczegółowoObrót wokół początku układu współrzędnych o kąt φ można wyrazić w postaci macierzowej następująco
Transformacje na płaszczyźnie Przesunięcie Przesunięcie (translacja) obrazu realizowana jest przez dodanie stałej do każdej współrzędnej, co w postaci macierzowej można przedstawić równaniem y'] = [ x
Bardziej szczegółowoGrafika 2D. Animacja Zmiany Kształtu. opracowanie: Jacek Kęsik
Grafika 2D Animacja Zmiany Kształtu opracowanie: Jacek Kęsik Wykład przedstawia podstawy animacji zmiany kształtu - morfingu Animacja zmiany kształtu Podstawowe pojęcia Zlewanie (Dissolving / cross-dissolving)
Bardziej szczegółowoWPROWADZENIE DO GRAFIKI KOMPUTEROWEJ
WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ Dr inż.. Jacek Jarnicki Doc. PWr. Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl 1. Układ przedmiotu
Bardziej szczegółowoModelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak
Modelowanie i wstęp do druku 3D Wykład 1 Robert Banasiak Od modelu 3D do wydruku 3D Typowa droga...czasem wyboista... Pomysł!! Modeler 3D Przygotowanie modelu do druku Konfiguracja Programu do drukowania
Bardziej szczegółowoWybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki
Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Ustawianie geometrii bryły widzenia Rozpoczynając generowanie trójwymiarowej sceny niezbędne jest utworzenie
Bardziej szczegółowoTeksturowanie (ang. texture mapping)
Teksturowanie (ang. texture mapping) Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny Tekstura Funkcja modyfikująca wygląd powierzchni. Ta funkcja może być reprezentowana
Bardziej szczegółowoAutomatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
Bardziej szczegółowoRENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski
RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Mapowanie nierówności wprowadzenie Poziomy szczegółowości Cieniowanie w układzie stycznym Generacja wektorów normalnych i stycznych Mapy
Bardziej szczegółowoJulia 4D - raytracing
i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja
Bardziej szczegółowoAnaliza obrazów - sprawozdanie nr 2
Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która
Bardziej szczegółowoGRK 2. dr Wojciech Palubicki
GRK dr Wojciech Palubicki Macierz wektor produkt jako Transformacja T: R n R m T Ԧx = A Ԧx Przemieszczanie wierzchołków - Transformacje Skalowanie Rotacja Translacja -y -y Macierz rotacji M wobec punktu
Bardziej szczegółowoGrafika komputerowa. Dla DSI II
Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji
Bardziej szczegółowoAlgorytmy oświetlenia globalnego
Synteza i obróbka obrazu Algorytmy oświetlenia globalnego Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Algorytmy oświetlenia Algorytmy oświetlenia bezpośredniego
Bardziej szczegółowoPrzestrzenie 3D (algorytmy renderingu)
Rendering Przestrzenie 3D (algorytmy renderingu) Rendering proces przekształcania opisu świata, uzyskanego po modelowaniu, w pełnokolorowy obraz. Wejściem do renderingu jest model świata, położenie oka,
Bardziej szczegółowoAutodesk 3D Studio MAX Teksturowanie modeli 3D
Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu
Bardziej szczegółowoPlan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza
Plan wykładu Wykład 3 Rzutowanie prostokątne, widoki, przekroje, kłady 1. Rzutowanie prostokątne - geneza 2. Dwa sposoby wzajemnego położenia rzutni, obiektu i obserwatora, metoda europejska i amerykańska
Bardziej szczegółowoGrafika realistyczna. Oświetlenie globalne ang. global illumination. Radosław Mantiuk
Oświetlenie globalne ang. global illumination Radosław Mantiuk Generowanie obrazów z uwzględnieniem oświetlenia globalnego Cel oświetlenia globalnego obliczenie drogi promieni światła od źródeł światła
Bardziej szczegółowoPrzestrzenie 3D (algorytm rendering y u)
Przestrzenie 3D (algorytmy renderingu) Rendering Rendering proces przekształcania opisu świata, uzyskanego po modelowaniu, w pełnokolorowy obraz. Wejściem do renderingu jest model świata, położenie oka,
Bardziej szczegółowoZałącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 KOMPUTEROWA
1/1 Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Nazwa przedmiotu: Kierunek: Specjalność: Tryb studiów: GRAFIKA KOMPUTEROWA INFORMATYKA Kod/nr GK PRZEDMIOT OBOWIĄZKOWY DLA WSZYSTKICH
Bardziej szczegółowoLaboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny
Laboratorium grafiki komputerowej i animacji Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Przygotowanie do ćwiczenia: 1. Zapoznać się ze zdefiniowanymi w OpenGL modelami światła i właściwości materiałów.
Bardziej szczegółowoAleksandra Zając. Raport. Blender. Pokemon: Eevee
Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować
Bardziej szczegółowoOpenGL i wprowadzenie do programowania gier
OpenGL i wprowadzenie do programowania gier Wojciech Sterna Bartosz Chodorowski OpenGL i wprowadzenie do programowania gier Autorstwo rozdziałów: 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 Wojciech Sterna
Bardziej szczegółowoJak tworzyć dobre wizualizacje? Porady do wykorzystania w programie KD Max. MTpartner s.c.
Jak tworzyć dobre wizualizacje? Porady do wykorzystania w programie KD Max MTpartner s.c. 1. Ustawienie widoku 1.1 Zasada mocnych punktów. Jeśli poprowadzimy 2 linie dzielące obraz w pionie na 3 równe
Bardziej szczegółowoTechnologie Informacyjne
Grafika komputerowa Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności December 12, 2016 1 Wprowadzenie 2 Optyka 3 Geometria 4 Grafika rastrowa i wektorowa 5 Kompresja danych Wprowadzenie
Bardziej szczegółowoGEOMETRIA PRZESTRZENNA (STEREOMETRIA)
GEOMETRIA PRZESTRZENNA (STEREOMETRIA) WZAJEMNE POŁOŻENIE PROSTYCH W PRZESTRZENI Stereometria jest działem geometrii, którego przedmiotem badań są bryły przestrzenne oraz ich właściwości. Na początek omówimy
Bardziej szczegółowoPrzewodnik po soczewkach
Przewodnik po soczewkach 1. Wchodzimy w program Corel Draw 11 następnie klikamy Plik /Nowy => Nowy Rysunek. Następnie wchodzi w Okno/Okno dokowane /Teczka podręczna/ Przeglądaj/i wybieramy plik w którym
Bardziej szczegółowoWprowadzenie do rysowania w 3D. Praca w środowisku 3D
Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać
Bardziej szczegółowoFORMATY PLIKÓW GRAFICZNYCH
FORMATY PLIKÓW GRAFICZNYCH Różnice między nimi. Ich wady i zalety. Marta Łukasik Plan prezentacji Formaty plików graficznych Grafika wektorowa Grafika rastrowa GIF PNG JPG SAV FORMATY PLIKÓW GRAFICZNYCH
Bardziej szczegółowoŚwiatła i rodzaje świateł. Dorota Smorawa
Światła i rodzaje świateł Dorota Smorawa Rodzaje świateł Biblioteka OpenGL posiada trzy podstawowe rodzaje świateł: światło otoczenia, światło rozproszone oraz światło odbite. Dodając oświetlenie na scenie
Bardziej szczegółowo1. Oświetlenie Materiały i powierzchnie
1. Oświetlenie Rzeczywiste światło emitowane przez określone źródło, odbijane jest na milionach powierzchni obiektów, po czym dociera do naszych oczu powodując, że widzimy dane przedmioty. Światło padające
Bardziej szczegółowoIRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
Bardziej szczegółowoGrafika 2D. Przekształcenia geometryczne 2D. opracowanie: Jacek Kęsik
Grafika 2D Przekształcenia geometrczne 2D opracowanie: Jacek Kęsik Wkład obejmuje podstawowe przekształcenia geometrczne stosowane w grafice komputerowej. Opisane są w nim również współrzędne jednorodne
Bardziej szczegółowoZaawansowana Grafika Komputerowa
Zaawansowana Komputerowa Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 28 Luty 2017 Michał Chwesiuk Zaawansowana Komputerowa 28 Luty 2017 1/11 O mnie inż.
Bardziej szczegółowogdzie (4.20) (4.21) 4.3. Rzut równoległy
4.3. Rzut równoległy 75 gdzie (4.20) Punkt zbiegu, określony wzorami (4.19) (4.20), leży na prostej przechodzącej przez środek rzutowania i równoległej do wektora u. Zauważmy, że gdy wektor u jest równoległy
Bardziej szczegółowoOpenGL Światło (cieniowanie)
OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);
Bardziej szczegółowoKarta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest
KARTA GRAFICZNA Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera
Bardziej szczegółowoRYSUNEK TECHNICZNY BUDOWLANY RZUTOWANIE PROSTOKĄTNE
RYSUNEK TECHNICZNY BUDOWLANY MOJE DANE dr inż. Sebastian Olesiak Katedra Geomechaniki, Budownictwa i Geotechniki Pokój 309, pawilon A-1 (poddasze) e-mail: olesiak@agh.edu.pl WWW http://home.agh.edu.pl/olesiak
Bardziej szczegółowoGrafika 3D program POV-Ray - 1 -
Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł. Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość. Skrót POV-Ray to rozwinięcie
Bardziej szczegółowoTechniki animacji komputerowej
Techniki animacji komputerowej 1 Animacja filmowa Pojęcie animacji pochodzi od ożywiania i ruchu. Animować oznacza dawać czemuś życie. Słowem animacja określa się czasami film animowany jako taki. Animacja
Bardziej szczegółowoGRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych
GRAFIKA CZASU RZECZYWISTEGO Podstawy syntezy grafiki 3D i transformacji geometrycznych Grafika komputerowa i wizualizacja, Bioinformatyka S1, II Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy
Bardziej szczegółowo