Ozajęciach Program Laboratorium grafiki i multimediów Michał Matuszak gruby@mat.umk.pl 22-02-2010
Ozajęciach Ozajęciach Program 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
Zaliczenie Ozajęciach Program Sposób zaliczenia: 3 60%punktówzzadańdomowych projektlub 50%punktówzzadańdodatkowych 4 65%punktówzzadańdomowych dobryprojektlub 70%punktówzzadańdodatkowych 5 70%punktówzzadańdomowych b.dobryprojektlub 90%punktówzzadańdodatkowych Rozwiązania można przesyłać po terminie. Każdy dzień opóźnienia zmniejsza bazową ilość punktów do zdobycia o 10%(tj.1godniapoterminiemożnazdobyć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.
Program Ozajęciach 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.
Program cd. Ozajęciach Program 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.
Literatura Ozajęciach Program 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
Rasteryzacja
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). Narazieużyjemy24bitowegomodeluRGB.Wtymmodelu8 bitów opisuje kolor czerwony, 8 zielony i 8 niebieski.
Środowisko System operacyjny: dowolny dostępny na wydziale Windows XP/Vista/7 Linux/Solaris MacOSX Język: dowolny sugerowane:c,c++,d,c#,... niezalecane: Java
WinAPI/Xlib/Carbon Przywiązanie do jednego systemu. Można kontrolować wiele aspektów aplikacji Szybkie Skomplikowane w użyciu
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/
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/
PixelToaster Windows,X11,MacOSX C++ HDR, Truecolor Obsługa klawiatury i myszy Ostatnia wersja: wrzesień 2008 http://code.google.com/p/pixeltoaster/
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/
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
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
Inne biblioteki pxcore Qt GTK+ Allegro