GRAFIKA KOMPUTEROWA 10: Antyaliasing

Podobne dokumenty
GRAFIKA KOMPUTEROWA 8: Konwersja i mieszanie kolorów

glwindowpos2d void DrawString (GLint x, GLint y, char *string) { glwindowpos2i (x,y); int len = strlen (string); for (int i = 0; i < len; i++)

GRAFIKA KOMPUTEROWA 7: Kolory i cieniowanie

Mieszanie kolorów. Dorota Smorawa

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

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

dr inż. Piotr Odya dr inż. Piotr Suchomski

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

3 Przygotował: mgr inż. Maciej Lasota

Zatem standardowe rysowanie prymitywów wygląda następująco:

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty

Filtrowanie tekstur. Kinga Laurowska

Rasteryzacja (ang. rasterization or scan-conversion) Grafika rastrowa. Rysowanie linii (1) Rysowanie piksela. Rysowanie linii: Kod programu

Rasteryzacja (ang. rasterization or scan-conversion) Grafika rastrowa. Rysowanie linii (1) Rysowanie piksela

Wstawianie nowej strony

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

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

Podstawy grafiki komputerowej

Przetwarzanie obrazów rastrowych macierzą konwolucji

Adobe Photoshop Dodatek do lab4 J.Wiślicki, A.Romanowski;

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

Ćwiczenie 12 Różdżka, szybkie zaznaczanie i zakres koloru

6 Przygotował: mgr inż. Maciej Lasota

Jak uzyskać efekt 3D na zdjęciach z wykorzystaniem programu InkScape

Temat: Transformacje 3D

Opis Edytora postaci Logomocji

Materiały. Dorota Smorawa

1. WIADOMOŚCI WPROWADZAJĄCE DO PROJ. I GR. INŻ.

Ćwiczenie 1 Automatyczna animacja ruchu

OpenGL Światło (cieniowanie)

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

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

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Plan wykładu. Akcelerator 3D Potok graficzny

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

Instrukcja przygotowania projektów do druku

Jeżeli pole Krawędź będzie zaznaczone uzyskamy obramowanie w całej wstawianej tabeli

Przetwarzanie i Kompresja Obrazów. Morfologia matematyczna

GIMP Grafika rastrowa (Ćwiczenia cz. 2)

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Implementacja filtru Canny ego

Kurs Adobe Photoshop Elements 11

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

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

Grafika komputerowa. Dla DSI II

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

OpenGL Światło (cieniowanie)

Adobe InDesign lab. 3 Jacek Wiślicki,

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

KARTA KURSU. Grafika komputerowa

Kolory elementów. Kolory elementów

ZAZNACZENIA. Zaznaczenia (inaczej maski) służą do zaznaczania obszarów rysunku.

Elementarne obiekty geometryczne, bufory. Dorota Smorawa

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

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Janusz Ganczarski. OpenGL Pierwszy program

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Kopiowanie. Szybkie kopiowanie. Kopiowanie przy użyciu podajnika ADF. Kopiowanie przy użyciu szyby skanera. Kopiowanie

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF.

Podstawy Informatyki Wykład V


Instrukcja dot. używania logotypu eraty Santander Consumer Bank w materiałach reklamowych Banku

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Światła i rodzaje świateł. Dorota Smorawa

Formaty obrazów rastrowych biblioteki PBM

Szybkie tworzenie grafiki w GcIde

AUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne.

Podstawy technologii cyfrowej i komputerów

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

Fotografia cyfrowa obsługa programu GIMP. Cz. 18. Tworzenie ramki do zdjęcia. materiały dla osób prowadzących zajęcia komputerowe w bibliotekach

Ćwiczenie 4 - Tabele

Adobe Photoshop lab. 3 Jacek Wiślicki, 1. Napisy (c.d.) Ogień Miód Metal Aqua...

Instrukcja instalacji oprogramowania Flow!Works na komputerze z systemem Windows 7

Karty graficzne możemy podzielić na:

Grafika rastrowa (bitmapa)-

Sieciowe Technologie Mobilne. Laboratorium 2

ECDL/ICDL Edycja obrazów Moduł S4 Sylabus - wersja 2.0

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

PROJEKT STAŁEJ ORGANIZACJI RUCHU

Laboratorium grafiki i multimediów

DOKUMENTACJA PROJEKTOWA

Stała organizacja ruchu

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D

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

Analiza obrazów - sprawozdanie nr 3

Gimp. Program do grafiki rastrowej odpowiednik płatnego programu Photoshop

Przetwarzanie obrazów wykład 4

Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej

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

1.2 Logo Sonel podstawowe załoŝenia

1 Obsługa aplikacji sonary

Przetwarzanie grafiki rastrowej na wektorową

3.4. Opis konfiguracji layoutów.

Akademia im. Jana Długosza w Częstochowie. Agnieszka Mazur i Magdalena Rabenda

Znak wersja podstawowa

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

Transkrypt:

GRAFIKA KOMPUTEROWA 10: Antyaliasing http://galaxy.agh.edu.pl/~mhojny Prowadzący: dr inż. Hojny Marcin Akademia Górniczo-Hutnicza Mickiewicza 30 30-059 Krakow pawilon B5/p.406 tel. (+48)12 617 46 37 e-mail: mhojny@metal.agh.edu.pl

1. Cel projektu: Zapoznanie się z technikami usuwania efektu aliasingu. 2. Zadanie projektowe: Zaprojektować aplikację która: rysuje trzy punkty o tej samej wielkości oraz trzy linie o różnej szerokości stosując trzy poziomy jakości renderingu: GL_FASTEST - najwyższa wydajność renderingu, GL_NICEST - najwyższa jakość obrazu, GL_DONT_CARE - ustawienia domyślne. Program powinien umożliwiać włączenie i wyłączenie antyaliasingu punktów oraz wybór jakości renderingu punktów. 3. Antyaliasing Techniki usuwające efekt aliasingu, nazywane antyaliasingiem lub wygładzaniem krawędzi, sprowadzają się najczęściej do rozbudowania rasteryzacji obiektów o dodatkowe piksele uzupełniające brzegi obiektu lub procesie nadpróbkowania, czyli przeprowadzaniu rasteryzacji w większej niż docelowa rozdzielczości i następującym po tym odpowiednim skalowaniu. Problem aliasingu w grafice rastrowej dotyczy prawie wszystkich krzywych (z wyjątkiem poziomo i pionowo ułożonych linii których grubość jest równa wielokrotności pojedynczego piksela). Wyświetlana czarna skośna linia prosta na białym tle bez użycia antyaliasingu będzie składał się z czarnych pikseli na białym i będzie widoczna w sposób nierówny/schodkowy (rys.1). Antyaliasing może polegać na uzupełnieniu obrazu o piksele o jasności proporcjonalnej do odległości ich środków od idealnej prostej. W takim rozwiązaniu piksel, przez którego środek przechodzi linia będzie czarny, a piksel dalszy od niej w odpowiednim stopniu szary, bądź

całkiem biały (w wypadku pikseli, których linia nie przecinała). Efektem końcowym będzie złudzenie że linia jest dużo gładsza, ale będzie "rozmazana" (rys.1). Ze względu na konieczność uzyskania rozsądnego kompromisu między gładkością a rozmyciem stosuje się różne techniki zaniku jasności, oparte np. na różnych miarach odległości. Ze względu na brak obiektywnych metod porównywania efektów zastosowania tych technik, właściwy efekt najczęściej otrzymuje się poprzez eksperymenty. Rys.1. bez antyaliasingu Rys.2. z antyaliasingiem 4. Antyaliasing - implementacja w OpenGL Wybór jakości renderingu umożliwia funkcja: void glhint( GLenum target, GLenum mode ) Parametr target określa, jakość którego z elementów renderingu będzie regulowana. Przykładowe parametry: GL_LINE_SMOOTH_HINT - jakość antyaliasingu linii, GL_POINT_SMOOTH_HINT - jakość antyaliasingu punktów,

GL_POLYGON_SMOOTH_HINT - jakość antyaliasingu wielokątów. Parametr mode określa poziom jakości renderingu. Dopuszczalne są trzy wartości: GL_FASTEST - najwyższa wydajność renderingu, GL_NICEST - najwyższa jakość obrazu, GL_DONT_CARE - ustawienia domyślne. Antyaliasing punktów: Antyaliasing punktów jest domyślnie wyłączony w OpenGL. Aby go włączyć należy wywołać funkcję glenable z parametrem GL_POINT_SMOOTH. Dodatkowo trzeba włączyć mieszanie kolorów oraz określić parametry równania mieszania kolorów przy użyciu funkcji glblendfunc: glblendfunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ) Informacje o możliwościach implementacji biblioteki OpenGL w zakresie renderingu punktów określają następujące zmienne stanu, których wartości można pobrać używając funkcji z grupy glgetfloatv: GL_POINT_SIZE_RANGE - minimalny i maksymalny rozmiar punktów określany przy pomocy funkcji glpointsize, GL_POINT_SIZE_GRANULARITY - krok z jakim może być zmieniana wielkość punktu, W wersji 1.2 biblioteki OpenGL zostały rozdzielone: GL_SMOOTH_POINT_SIZE_RANGE - minimalny i maksymalny rozmiar punktów z włączonym antyaliasingiem; stała ta ma taką samą wartość jak GL_POINT_SIZE_RANGE, GL_SMOOTH_POINT_SIZE_GRANULARITY - krok z jakim może być zmieniana wielkość punktu z włączonym antyaliasingiem; stała ta ma taką samą wartość jak GL_POINT_SIZE_GRANULARITY, GL_ALIASED_POINT_SIZE_RANGE - minimalny i maksymalny rozmiar punktów bez antyaliasingu.

Antyaliasing linii: Domyślnie antyaliasing linii jest wyłączony. Zastosowanie antyaliasingu linii podobnie jak antyaliasingu punktów sprowadza się do wywołania funkcji glenable z parametrem GL_LINE_SMOOTH wraz z włączeniem mechanizmu mieszania kolorów z takimi samymi ustawieniami jak przy antyaliasingu punktów. Dopuszczalne parametry rysowania linii, które można odczytać z następujących zmiennych stanu: GL_LINE_WIDTH_RANGE - minimalna i maksymalna szerokość linii, GL_LINE_WIDTH_GRANULARITY - dopuszczalny krok pomiędzy szerokością linii. W wersji 1.2 biblioteki OpenGL zostały zastąpione: GL_SMOOTH_LINE_WIDTH_RANGE - minimalna i maksymalna szerokość linii z antyaliasingiem; stała ta ma taką samą wartość jak GL_LINE_WIDTH_RANGE, GL_SMOOTH_LINE_WIDTH_GRANULARITY - dopuszczalny krok pomiędzy szerokością linii z antyaliasingiem; stała ta ma taką samą wartość jak GL_LINE_WIDTH_GRANULARITY, GL_ALIASED_LINE_WIDTH_RANGE - minimalna i maksymalna szerokość linii bez antyaliasingu. 5. Co na następnych zajęciach: Krzywe Beziera