Laboratorium grafiki i multimediów

Transkrypt

Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
O zajęciach
Program
Laboratorium grafiki i multimediów
Michał Matuszak
[email protected]
22-02-2010
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
O zajęciach
Program
O zajęciach
Wymiar zajęć: 45h
Forma: laboratorium
Zaliczenie na ocenę
Obecność: obowiązkowa
Ilość nieobecności: 3
Można uzyskać obecność na zajęciach fizycznie na nich nie
będąc pod warunkiem, że zdobędzie się co najmniej 80%
punktów z zadań dodatkowych przewidzianych na te zajęcia.
Zajęcia:
Wtorek 12:15, sala L7
Poniedziałek 10:15, sala L7, co 2 tygodnie
Konsultacje: Środa 10-11 F104
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
O zajęciach
Program
Zaliczenie
Sposób zaliczenia:
3
­ 60% punktów z zadań domowych
projekt lub ­ 50% punktów z zadań dodatkowych
4
­ 65% punktów z zadań domowych
dobry projekt lub ­ 70% punktów z zadań dodatkowych
5
­ 70% punktów z zadań domowych
b. dobry projekt lub ­ 90% punktów z zadań dodatkowych
Rozwiązania można przesyłać po terminie. Każdy dzień
opóźnienia zmniejsza bazową ilość punktów do zdobycia o
10% (tj. 1go dnia po terminie można zdobyć 90% punktów, a
9go już tylko 10%).
Dwa razy w semestrze można wydłużyć termin oddania
zadania o tydzień. Trzeba to zgłosić przed upływem
pierwotnego terminu zadania.
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
O zajęciach
Program
Program
Reprezentacja cyfrowa obrazu, narzędzia, biblioteki, tworzenie
bitmap.
Algorytmy rysowania odcinków (naiwny i Bresenhama),
anti-aliasing.
Algorytmy rysowania okręgów i elips (naiwny, Bresenhama).
Reprezentacja krzywych (krzywe Beziera, B-spline, NURBS).
Reprezentacja i wypełnianie wielokątów.
Modele barw (RGB, CMYK, HSV).
Tryby mieszania kolorów.
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
O zajęciach
Program
Program cd.
Podstawowe transformacje geometryczne w zastosowaniu do
obróbki bitmap.
Morphing.
Teksturowanie trójkątów, transformacja perspektywiczna.
Grafika 3D - podstawowa reprezentacja świata, podstawowe
przekształcenia.
Modele interpolacji atrybutów (flat, Gouraud, Phong). Modele
oświetlenia (Lambert, Phong). Światło emisyjne i absorbcyjne.
Wyznaczanie powierzchni widocznych (Z-bufor).
Generowanie siatek trójkątnych.
Przetwarzanie siatek trójkątnych.
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
O zajęciach
Program
Literatura
Wprowadzenie do grafiki komputerowej, J.D. Foley, A. van
Dam, S.K. Feiner, J.F. Hughes, R.L. Phillips, WNT,
Warszawa 2001.
Michael Abrash’s Graphics Programming Black Book, with
CD: The Complete Works of Graphics Master, Michael Abrash
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
Rasteryzacja
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
Rasteryzacja
Rasteryzacja to przedstawianie obrazu na kratownicy (siatce)
za pomocą pikseli.
Piksel to najmniejszy jednolity element obrazu wyświetlany na
ekranie.
Każdemu z pikseli przypiszemy kolor
Istnieje wiele modeli barw (poznamy je później).
Na razie użyjemy 24 bitowego modelu RGB. W tym modelu 8
bitów opisuje kolor czerwony, 8 zielony i 8 niebieski.
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
Środowisko
System operacyjny:
dowolny dostępny na wydziale
Windows XP/Vista/7
Linux/Solaris
Mac OS X
Język:
dowolny
sugerowane: C, C++, D, C#, ...
niezalecane: Java
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
WinAPI/Xlib/Carbon
Przywiązanie do jednego systemu.
Można kontrolować wiele aspektów aplikacji
Szybkie
Skomplikowane w użyciu
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
TinyPTC
Windows, X11, Mac OS X, PocketPC, Amiga, BeOS, DOS, ...
C, Delphi, Java
LGPL, Public Domain
Kompilacja: wymaga NASMa
Problem z trybem pełnoekranowym na Windowsie
Najnowsza wersja: grudzień 2004
http://sourceforge.net/projects/tinyptc/
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
OpenPTC
Windows, X11, DOS
C, C++, Java
Bardziej rozbudowane niż TinyPTC
Obsługa wyjątków
Obsługa klawiatury
Najnowsza wersja: styczeń 2005
http://scene.org/resources/code/libs/ptc/index.html
http://sourceforge.net/projects/openptc/
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
PixelToaster
Windows, X11, Mac OS X
C++
HDR, Truecolor
Obsługa klawiatury i myszy
Ostatnia wersja: wrzesień 2008
http://code.google.com/p/pixeltoaster/
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
SDL
Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X,
FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, QNX,
AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS,
SymbianOS, and OS/2
C++, Ada, C#, D, Eiffel, Erlang, Euphoria, Guile, Haskell,
Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike,
Pliant, Python, Ruby, Smalltalk, and Tcl
Obsługa klawiatury i myszy
Dostępna licencja komercyjna.
Stabilna wersja - 1.2
Wersja rozwijana - 1.3
http://www.libsdl.org/cgi/docwiki.cgi/FrontPage/
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
SDL 1.2 - instrukcja
Można skorzystać ze zbudowanych juz bibliotek lub zbudować
je samemu
Ściagnij i rozpakuj http://www.libsdl.org/tmp/SDL-1.2.zip
Rozpakuj VisualC.zip do bieżącego folderu
Otwórz plik SDL.sln
Jeśli to konieczne, to dokonaj konwersji do posiadanej wersji
VC
w projekcie SDL zmodyfikuj:
Dodatkowe katalogi z plikami nagłówkowymi oraz z
bibliotekami dodająć odpowiednie foldery z Microsoft DirectX
SDK
Zbuduj projekt. Powstana pliki SDL.dll, SDL.lib oraz
SDLmain.lib
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
SDL - instrukcja cd.
SDL 1.3
Otwieramy plik solucji i budujemy projekt. Powstaną pliki
SDL.dll, SDL.lib oraz SDLmain.lib
Tworzenie własnego projektu:
W opcjach projektu należy dodać
Pliki naglowkowe SDLa
SDL.lib oraz SDLmain.lib
Skopiuj bibliotekę SDL.dll do folderu z binariami projektu
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów
Sprawy organizacyjne
Wprowadzenie
Reprezentacja obrazu
Biblioteki
Inne biblioteki
pxCore
Qt
GTK+
Allegro
Michał Matuszak [email protected]
Laboratorium grafiki i multimediów