Teksturowanie w grafice komputerowej

Slides:



Advertisements
Podobne prezentacje
Monitory i systemy graficzne
Advertisements

Grafika Wektorowa Bitmapowa.
Modele oświetlenia Punktowe źródła światła Inne
Podstawy grafiki komputerowej
Gimp Przygotowała: Paulina Krupa Joanna Cieślar Zapraszamy :)
Popularne formaty grafiki
Rozdzielczość obrazu bitowego
Akceleratory grafiki.
Kompresja danych.
Formaty plików Dane cyfrowe.
Przetwarzanie sygnałów (wstęp do sygnałów cyfrowych)
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
Przekształcenia afiniczne
dotyczące plików graficznych
Teksturowanie proceduralne przy pomocy języka funkcyjnego Michał Radziszewski czerwiec 2007.
Obliczenia równoległe w grafice komputerowej
Obróbka konwencjonalnych zdjęć RTG
Zaawansowane metody analizy sygnałów
Zasada działania, zalety i wady
Różnice pomiędzy formatem GIF a JPG
Agata Józefowicz Gimnazjum w Skórzewie
Rodzaje plików graficznych.
Kompresja danych.
KOMPRESJA DANYCH Marek Dyoniziak.
KOMPRESJA DANYCH DAWID FREJ. Kompresja danych Kompresja danych - polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Komputerowe metody przetwarzania obrazów cyfrowych
Typy kompresji. Kompresja plików graficznych.
Porównanie grafiki rastrowej i wektorowej
Tryb graficzny i tryb tekstowy - już tylko w terminalach
Karty graficzne Karta graficzna, często określana też mianem akcelerator grafiki, to element komputera tworzący sygnał dla monitora. Podstawowym zadaniem.
Programowanie gier komputerowych Tomasz Martyn
Autor: Justyna Radomska
Zaawansowane techniki renderingu
ZASTOSOWANIE RENDERINGU W GRAFICE KOMPUTEROWEJ
Konfiguracja systemu Windows
Grafika wektorowa.
Formaty zdjęć.
Grafika komputerowa Jest to dziedzina rozwijająca się niezwykle dynamicznie, a jednocześnie wymagająca znacznej mocy obliczeniowej. Łatwo możemy to zaobserwować,
Wojciech Toman. Dotychczasowe podejście do oświetlenia Idea deferred shadingu Typowe problemy wraz z propozycjami rozwiązania Optymalizacja wydajności.
Opracował: Paweł Staszczuk Temat: Pliki multimedialne Rozdział IX Przetwarzanie plików graficznych i multimedialnych.
Grafika komputerowa Jest to dziedzina rozwijająca się niezwykle dynamicznie, a jednocześnie wymagająca znacznej mocy obliczeniowej. Łatwo możemy to zaobserwować,
Metody odszumiania sygnałów
Teksturowanie obiektów z wykorzystaniem reprogramowalnych modułów do obliczania cieniowania Daniel Kos promotor: dr inż. Radosław Mantiuk Wydział Informatyki,
RAR jako format kompresji bezstratnej.. RAR został stworzony przez Rosjanina Eugene Roshala. Do kompresji danych używa odmiany kompresji LZSS. Jest wolniejszym.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Informatyka +.
Grafika rastrowa - parametry
ABC JPG FORMATY GRAFICZNE.
TEMAT : Kompresja i Archiwizacja danych Informatyka Zakres rozszerzony
Grafika komputerowa – Grafika wektorowa i rastrowa
GRAFIKA RASTROWA DALEJ. Podział grafiki komputerowej ze względu na sposób powstawania obrazu: GRAFIKA WEKTOROWA GRAFIKA KOMPUTEROWA GRAFIKA RASTROWA.
MARCIN WOJNOWSKI KOMPRESJA I DEKOMPRESJA PLIKÓW. KOMPRESJA Kodowanie danych w taki sposób, aby zajmowały najmniej miejsca na dysku. Najbardziej znanymi.
Grafika 2d - Podstawy. Kontakt Daniel Sadowski FTP: draver/GRK - wyklady.
Trakt Królewsko-Cesarski w Poznaniu, Digitalizacja, 5-6 września 2006, Chalin Problemy techniczno-organizacyjne digitalizacji Jakub Bajer Biblioteka Główna.
Grafika komputerowa.
Projekt i implementacja symulatora żaglówki z wykorzystaniem biblioteki DirectX Promotor: dr hab. prof. WWSI Grabowski Michał Dyplomant: Radosław Czebreszuk.
Grafika Komputerowa. Dział informatyki zajmujący się przedstawianiem tego, co rzeczywiste bądź wymyślone za pośrednictwem komputera – czyli rysunki i.
Moje zdjęcia prezentowane na tym wykładzie zostały wykonane przez Martę Nowak
Grafika wektorowa Konrad Janiszewski, kl. 2 . Co to jest? jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą.
Informatyka Zakres rozszerzony GRAFIKA KOMPUTEROWA
Kanał alfa ---z ang. alpha channel---  w grafice komputerowej jest kanałem, który definiuje przezroczyste obszary grafiki. Jest on zapisywany dodatkowo.
PORÓWNANIE FOTOGRAFII TRADYCYJNEJ i CYFROWEJ
Grafika rastrowa i wektorowa
 jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur geometrycznych lub brył geometrycznych, umiejscowionych.
Wiktoria Dobrowolska. Grafika komputerowa - dział informatyki zajmujący się wykorzystaniem komputerów do generowania obrazów oraz wizualizacją rzeczywistych.
Grafika wektorowa Grafika wektorowa (obiektowa) – jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur.
Podział mikroprocesorów
Opracował Tomasz Durawa
Kompresja danych.
Zapis prezentacji:

Teksturowanie w grafice komputerowej Michał Radziszewski

Plan prezentacji Cel użycia tekstur Mapowanie tekstur Filtrowanie – rekonstrukcja, prefiltrowanie Próbkowanie losowe HDRI Pełne widmo Kompresja tekstur Teksturowanie proceduralne

Cel użycia tekstur Poprawa jakości grafiki Szczegółowe obrazy bez konieczności wykorzystania ogromnej ilości wielokątów Głównie kolor, ale nie tylko Niezależny kolor matowy i kolor połysku Siła połysku Przezroczystość Mapowanie nierówności / przemieszczeń I wiele innych

Tekstury – kolor

Tekstury – przezroczystość © Plus3D

Mapowanie przemieszczeń © William Donnelly

Mapowanie tekstur Podstawowy algorytm mapowania na płaskie wielokąty, historycznie – brak korekcji perspektywy Mapowanie ogólne – dwuwymiarowa powierzchnia musi być parametryzowalna Tekstury trójwymiarowe

Tekstury trójwymiarowe

Filtrowanie Rekonstrukcja – współrzędne teksturo-wanego punktu na ogół niecałkowite Należy zrekonstruować wartość tekstury w dowolnym punkcie Obrazy często nie są zapisami poprawnie (zgod-nie z tw. Shannona) próbkowanego sygnału Teoretycznie idealny filtr oparty o funkcję sinc może powodować ‘dzwonienie’

Filtrowanie – rekonstrukcja Należy zrekonstruować wartość tekstury w dowolnym punkcie – cd. W praktyce używane są filtry gaussowskie albo wielomianowe, kompromis pomiędzy dzwonie-niem, rozmyciem a kosztem obliczeniowym

Filtrowanie – rekonstrukcja 1D © Matt Pharr

Prefiltrowanie Nawet idealna rekonstrukcja nie zawsze jest skuteczna Na skutek złożenia mapowania na wielokąt z mapowaniem na ekran rozdzielczość tekstury może ulec zmniejszeniu Prefiltrowanie – usunięcie z tekstury częstotliwości powodujących aliasing w ww. przypadku

Prefiltrowanie – cd. MIP mapy, trilinear filtering, anisotropic filtering © 3D Mark 2006

Prefiltrowanie – cd. © 3D Mark 2006

Prefiltrowanie – cd. © 3D Mark 2006

Prefiltrowanie – cd. © Extremetech

Próbkowanie losowe Stosowane wtedy, gdy nie można zastosować filtrowania analitycznego (np. map nierówności czy przeźroczystości) Zamienia aliasing na szum, który jest redukowany poprzez dużą ilość próbek Zastępuje tylko prefiltrowanie, dobry algorytm rekonstrukcji nadal jest konieczny Zawsze działa bezbłędnie, ale kosztowne obliczeniowo

Próbkowanie losowe – cd. © Matt Pharr

HDRI High Dynamic Range Imaging Konwencjonalne obrazy – format stałoprzecinkowy, na ogół 256 wartości Pełna precyzja – tylko dla wartości >128 Brak detali w cieniu HDRI – format zmiennoprzecinkowy Pełna precyzja niezależnie od jasności Na ogół 16 bitów, tzw. ‘half’

HDRI – cd. Znacznie lepszy kontrast przy zachowaniu detali na najjaśniejszych i najciemniejszych elementach Na zwykłym projektorze niestety nie można pokazać nic poza tym: © OpenEXR

Pełne widmo a RGB Model RGB nie ma żadnego uzasadnienia fizycznego – został zaprojektowany do wyświetlania i przechowywania obrazów biorąc pod uwagę fizjologię ludzkiego oka oraz charakterystyki monitorów Niestety rendering w oparciu o RGB w ogólnym przypadku nie jest poprawny

Pełne widmo – motywacja Zniekształcanie kolorów – RGB poprawne tylko dla oświetlenia białego Zjawiska zależne od długości fali światła

Pełne widmo – motywacja

Pełne widmo – cd. Ale niemal wszystkie tekstury są w formacie RGB – konieczność konwersji Pełne widmo zawiera dużo więcej informa-cji, niż może przechować tekstura RGB Istnieją różne warianty takiej konwersji – każdy z nich jest ‘zgadywany’, nie da się powiedzieć który z nich jest lepszy

Pełne widmo – cd. Przykładowa konwersja widma r(l), g(l), b(l), gdzie l – długość fali r(l) + g(l) + b(l) = 1, 0 ≤ x(l) ≤ 1 Wynik konwersji: s(l) = R*r(l) + G*g(l) + B*b(l)

Pełne widmo – cd. Wynikiem renderingu w oparciu o pełne widmo jest obraz nie dający się wyświetlić Konieczna jest konwersja powrotna do RGB, na ogół poprzez przestrzeń XYZ Konieczność mapowania zakresu jasności oraz kolorów nie reprezentowalnych w RGB Najlepszy format do przechowywania takich wyników – wariant HDR

Kompresja tekstur Tekstury o wysokiej rozdzielczości zajmują dużo pamięci Kompresja tekstur powoduje mniejszą utratę jakości niż zmniejszenie rozdzielczości Kompromis pomiędzy jakością tekstur, wymaganą mocą obliczeniową a zajętością pamięci

Kompresja tekstur – cd. Wymagania Kompresja bezstratna, np. PNG Szybkie dekodowanie (kodowanie mniej istotne) Swobodny dostęp w przypadku śledzenia promieni (niekonieczny przy rasteryzacji) Kompresja bezstratna, np. PNG Dobra do grafiki tworzonej ręcznie, zrzutów ekranu, itp., ale nie nadaje się do kompresji zdjęć, będących często podstawą tekstur Brak swobodnego dostępu

Kompresja tekstur – cd. Kompresja stratna – np. JPG Dobry (ok. 10-20x) współczynnik kompresji dla zdjęć przy zachowaniu akceptowalnej jakości Utrata jakości objawia się poprzez rozmycie szczegółów i rozpad obrazu na bloki 8x8 albo 16x16, jednak rozpad można skorygować Kosztem niewielkiego (ok. 15% przy kompresji 10x) narzutu pamięciowego można uzyskać dostęp swobodny Niezbyt wydajna dekompresja

Kompresja tekstur – cd. Format specjalizowany – np. DXT Kompresja stratna Jakość lepsza niż przy ograniczeniu rozdzielczości ale gorsza niż dla obrazów JPG Optymalizowany pod kątem kart graficznych Bardzo szybka dekompresja

Teksturowanie proceduralne Zastosowanie programu do utworzenia tekstur Program wykonywany jest w trakcie renderingu Niemal brak zużycia pamięci Wymagana duża moc obliczeniowa

Teksturowanie proceduralne © David Ebert

Teksturowanie proceduralne color main { return blend( blend(color([0.2 0.6]), color([0.6 0.2]), noise(addr=8.0*$uv+16.0)*0.333+0.5), color([0.95 0.9]), marble(addr=12.0*$uv, layers=[0.375, 0.375], amplitude=1.0, roughness=0.25, bright_dark=0.5, c_octaves=6 )) * blend( blend(color([0.2 0.4]), color([0.5 0.2]), noise(addr=8.0*$uv+48.0)*0.333+0.5), blend(color([0.95 0.9]), color([1.0 0.7 0.2 0.1]), noise(addr=8.0*$uv+128)*0.333+0.5), marble(addr=12.0*$uv+4.0, layers=[0.375, 0.375], amplitude=0.75, roughness=0.375, bright_dark=0.375, }

Teksturowanie proceduralne Możliwość efektywnej kontroli nad parametrami tekstury Duża ilość szczegółów Olbrzymia różnorodność scen Nie zawsze łatwo da się zastosować np. twarz człowieka ściana z obrazem

Podsumowanie Właściwe użycie tekstur decyduje o jakości grafiki Bardzo ważne jest odpowiednie filtrowanie tekstur Warto rozważyć stosowanie bardziej zaawansowanych formatów niż 24bit RGB Konieczność wyważenia zużycia pamięci i mocy obliczeniowej