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