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

Podobne dokumenty
Filtrowanie tekstur. Kinga Laurowska

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Oświetlenie obiektów 3D

Plan wykładu. Akcelerator 3D Potok graficzny

Efekty dodatkowe w rasteryzacji

Autodesk 3D Studio MAX Teksturowanie modeli 3D

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

Grafika komputerowa. Dr inż. Michał Kruk

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

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

Rendering obrazu 3D. Rendering. Synteza i obróbka obrazu

GRK 4. dr Wojciech Palubicki

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

SYNTEZA OBRAZU. Rendering obrazu 3D

Architektura Komputerów

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Architektura systemów komputerowych Ćwiczenie 3

OpenGL Światło (cieniowanie)

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

Transformacje obiektów 3D

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

Karty graficzne możemy podzielić na:

OpenGL Światło (cieniowanie)

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

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest

GRK 5. dr Wojciech Palubicki

Teksturowanie (ang. texture mapping)

Grafika Komputerowa. Wykład 8. Przygotowanie do egzaminu. mgr inż. Michał Chwesiuk 1/32

Gry komputerowe: efekty specjalne cz. 2

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

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

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

Zadanie 1. Ściana. 1. Potrzebne zmienne w dołączonym do zadania kodzie źródłowym

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Julia 4D - raytracing

OpenGL - tekstury Mapowanie tekstur

Podstawy grafiki komputerowej. Teoria obrazu.

Architektura Komputerów

GRK 5. dr Wojciech Palubicki

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Przykładowe pytania na teście teoretycznym

Podstawy grafiki komputerowej

Wprowadzenie do grafiki maszynowej. Wprowadenie do teksturowania

Transformacje. dr Radosław Matusik. radmat

Architektura Procesorów Graficznych

Grafika komputerowa. Dla DSI II

Obrót wokół początku układu współrzędnych o kąt φ można wyrazić w postaci macierzowej następująco

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Grafika komputerowa Tekstury

Grafika Komputerowa. Teksturowanie

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Grafika 2D. Pojęcia podstawowe. opracowanie: Jacek Kęsik

Przetwarzanie obrazów rastrowych macierzą konwolucji

Synteza i obróbka obrazu HDR. Obrazy o rozszerzonym zakresie dynamiki

Techniki animacji 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

GRAFIKA KOMPUTEROWA. Rozwiązania sprzętowe i programowe. Przyspieszanie sprzętowe. Synteza i obróbka obrazu

Technologie Informacyjne

Proste metody przetwarzania obrazu

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

Uniwersytet Zielonogórski. Kurs: Autodesk 3D Studio MAX Komputerowa grafika 3D. 3dsmax Teksturowanie obiektów 3D

Poniżej pokazane są poszczególne etapy, w nawiasach kwadratowych znajdują się nazwy tekstur, które utworzymy w projekcie, a przy strzałkach nazwy

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Architektura systemów komputerowych. dr Artur Bartoszewski

Grafika 2D. Przekształcenia geometryczne 2D. opracowanie: Jacek Kęsik

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

Wyświetlanie terenu. Clipmapy geometrii

Diagnostyka obrazowa

HDR. Obrazy o rozszerzonym zakresie dynamiki

FORMATY PLIKÓW GRAFICZNYCH

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

Rendering sceny z modelem węzła

Śledzenie promieni w grafice komputerowej

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

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

a. Czym różni się sposób liczenia odbicia zwierciadlanego zaproponowany przez Phonga od zaproponowanego przez Blinna?

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)

Implementacja filtru Canny ego

Planowanie, realizacja i dokumentacja wzorcowego procesu digitalizacji 3D

Obraz jako funkcja Przekształcenia geometryczne

Grafika komputerowa i wizualizacja

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

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

1. Czym jest rendering? a. Komputerowa analiza modelu danej sceny i utworzenie na jej podstawie obrazu 2D. b. Funkcja umożliwiająca kopiowanie obrazu

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

Praktyczne zastosowanie grafiki komputerowej

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

Bartosz Bazyluk Teksturowanie Pojęcie tekstury, potok, zastosowania. Gry komputerowe, Informatyka N1, III Rok

Przygotowanie grafiki 3D do gier komputerowych

DIGITAL PHOTOGRAMMETRY AND LASER SCANNING IN CULTURAL HERITAGE SURVEY

2 Przygotował: mgr inż. Maciej Lasota

Synteza i obróbka obrazu. Algorytmy oświetlenia globalnego

Grafika Komputerowa Wybrane definicje. Katedra Informatyki i Metod Komputerowych Uniwersytet Pedagogiczny im. KEN w Krakowie apw@up.krakow.

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

Transkrypt:

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 powierzchnię modelu obiektu. Pozwala uwidocznić szczegóły obiektu. Wartości pobrane z tekstury są uwzględniane w procesie cieniowania.

Tekstury Przykład - scena bez teksturowania (tylko cieniowanie) oraz z nałożeniem tekstur

Odwzorowanie tekstury Teksel (texel) piksel tekstury. Współrzędne UV tekstury unormowane do zakresu od 0 do 1. Odwzorowanie tekstury (texturemapping) przypisanie współrzędnych UV tekstury do współrzędnych XYZ modelu. W przypadku siatki trójkątowej: wsp. UV zapisywane są w werteksach siatki. Inna nazwa: mapowanie UV.

Odwzorowanie tekstury Przykład:

Odwzorowanie tekstury Podczas modelowania obiektu, grafik maluje teksturę na rozłożonej siatce obiektu i tworzy mapowanie współrzędnych.

Odwzorowanie tekstury Można stosować współrzędne UV spoza zakresu (0, 1). Znaczenie zależy od wybranego trybu. Np. 1.2 może oznaczać to samo, co: 1.0 (ograniczenie), 0.2 (powtórzenie, 1.2 1.0) 0.8 (odbicie, 1.0 (1.2 1.0))

Próbkowanie tekstury Współrzędne UV tekstury są zapisane w wierzchołkach siatki modelu. Rasteryzer interpoluje je dla wybranego fragmentu wewnątrz trójkąta. Tekstura jest próbkowana w miejscu wskazanym przez interpolowane współrzędne. Wykonuje to obiekt nazywany samplerem. Pobrana z tekstury barwa jest stosowana w procesie cieniowania łączona z barwą światła i obiektu.

Próbkowanie tekstury Przykład: Tekstura o wymiarach 512x512 pikseli. Z interpolacji wychodzą współrzędne UV = (0.34, 0.78). Przeliczenie na współrzędne pikseli: (174.08, 399,36). Jak zinterpretować ułamkowe piksele? Najprostsze podejście: zaokrąglić (174, 399).

Próbkowanie punktowe Najprostsze podejście zaokrąglenie do najbliższego teksela próbkowanie punktowe (point sampling). Inaczej: metoda najbliższego sąsiada (nearest neighbour). Wada: może się zdarzyć, że wiele fragmentów spróbkuje ten sam teksel. Efekt: zblokowanie pikseli ( pikseloza ).

Filtracja dwuliniowa Lepsze podejście: spróbkowanie 4 najbliższych tekseli, interpolacja dwuliniowa, w zależności od odległości od punktu próbkowania. Filtracja dwuliniowa tekstury (bilinearfiltering) wygładza przejścia między barwami. Przy małej rozdzielczości może spowodować rozmycie tekstury.

Filtracja dwuliniowa Próbkowanie punktowe Filtracja dwuliniowa

Filtrowanie tekstur Próbkowanie punktowe Filtracja dwuliniowa

MIP mapping Problem rozdzielczości tekstury: obiekt blisko kamery potrzebna tekstura o dużej rozdzielczości, obiekt daleko od kamery potrzebna tekstura o małej rozdzielczości, zbyt mała rozdzielczość tekstura rozmazana, zbyt duża rozdzielczość utrata szczegółów.

MIP mapping MIP mapping tworzonych jest wiele wersji (mipmap) tej samej tekstury o różnych rozdzielczościach (różnych poziomach MIP) automatycznie lub ręcznie. Wybierana jest mipmapa o rozmiarach najlepiej pasujących do pokrywanego obszaru. Unikamy zniekształceń tekstur. Potrzebujemy więcej pamięci. Rasteryzer sam dobiera właściwy poziom.

MIP mapping Tekstura powiększona (bez MIP)

MIP mapping W praktyce, system skaluje załadowaną teksturę w dół, więc należy podać teksturę o maksymalnej rozdzielczości. Mipmapy są przechowywane w pamięci w układzie pozwalającym na łatwe próbkowanie tekseli.

MIP mapping MIP mapping w połączeniu z filtracją dwuliniową: wybór najbliższej mipmapy, filtrowanie dwuliniowe z tej tekstury. Dobry rezultat, o ile kamera się nie rusza. Przy ruchach kamery zbliżaniu i oddalaniu się od obiektu może być zauważalne przeskakiwanie między mipmapami.

Filtracja trójliniowa Filtracja trójliniowa (trilinear filtering): wybór dwóch najbliższych mipmap większej i mniejszej niż potrzebna, próbkowanie 4 tekseli z każdej mipmapy, interpolacja barwy w trzech wymiarach. Daje lepsze wyniki niż dwuliniowa przy ruchu kamery. Przy statycznej kamerze różnica jest niezauważalna. Wymaga większej liczby operacji.

Filtracja anizotropowa Filtracja dwu- i trójliniowa: problem przy pokrywaniu dużych powierzchni ułożonych pod dużym kątem względem obrazu (podłoże, ściany). Blisko kamery właściwa rozdzielczość. Dalsze plany za mała rozdzielczość, tekstura ulega rozmyciu. Potrzebna jest tekstura o zmiennej rozdzielczości zależnie od głębi obrazu.

Filtracja anizotropowa Anizotropowy zależny od kierunku. Filtracja anizotropowa (anisotropicfiltering) tworzy mipmapy przeskalowane niejednorodnie. Liczba pobieranych próbek tekstury zależy od ułożenia powierzchni nie zakłada się, że piksel jest kwadratowy. Algorytm bardzo obciążający pamięć i procesor GPU. F. trójliniowa F. anizotropowa

Filtracja anizotropowa Przykład mapy anizotropowej tekstur - kopie skalowane niejednorodnie.

Filtracja anizotropowa Rząd filtracji (anisotropicorder) maksymalny współczynnik skalowania. Parametr często dostępny w opcjach gier. Np. współczynnik 8 oznacza, że maksymalny poziom skalowania wynosi 8:1. Wyższy poziom może poprawić ostrość szczegółów w dalszych planach, ale zwiększa czas obliczeń.

Porównanie metod filtracji

Porównanie metod filtracji

Tekstury a cieniowanie Wykorzystanie tekstur w procesie cieniowania: barwa fragmentu jest iloczynem: barwy światła (kierunkowego, otoczenia), barwy obiektu (zwykle biała), współczynnika oświetlenia (cos α), barwy spróbkowanej z tekstury, zazwyczaj po filtracji. Można ustawić barwę obiektu na inną niż biała wtedy zabarwimy teksturę.

Tekstury a cieniowanie Przykład obliczeń (źródło kierunkowe): barwa światła kierunkowego: (0.9, 0.9, 0.8) barwa obiektu: (1, 1, 1) obliczenie cieniowania Lamberta: θ = 30, cos(θ) = 0.866 barwa pobrana z tekstury: (0.1, 0.3, 1.0) wynikowa barwa fragmentu: (0.9, 0.9, 0.8) (1, 1, 1) 0.866 (0.1, 0.3, 1.0) = (0.08, 0.23, 0.69)

Specjalne typy tekstur Wielotekstury (multitextures) więcej niż jedna tekstura przypisana do danego obiektu. Tekstury dynamiczne obliczane w trakcie renderingu i nakładane na obiekt (np. mapy światła, odbicia zwierciadlane). Mapy głębokości (nierówności) informacje o głębi tekstury. Tekstury tła (skybox, cube). Tekstury 3D z zapisaną informacją o głębi tekstury.

Podsumowanie opis wierzchołka w modelu Jeden wierzchołek obiektu: współrzędne wierzchołka (x, y, z) współrzędne wektora normalnego [x, y, z] barwa odbitego światła otoczenia A (zwykle biała: 1,1,1) barwa odbitego światła kierunkowego D (zwykle biała: 1,1,1) materiał barwa odblasku S (r, g, b) współrzędne tekstury (u, v)