Laboratorium grafiki i multimediów

17
Sprawy organizacyjne Wprowadzenie O zajęciach Program Laboratorium grafiki i multimediów Michal Matuszak [email protected] 22-02-2010 Michal Matuszak [email protected]l Laboratorium grafiki i multimediów

Transcript of Laboratorium grafiki i multimediów

Page 1: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

O zajęciachProgram

Laboratorium grafiki i multimediów

Michał [email protected]

22-02-2010

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 2: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

O zajęciachProgram

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 niebę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 L7Poniedziałek 10:15, sala L7, co 2 tygodnie

Konsultacje: Środa 10-11 F104

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 3: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

O zajęciachProgram

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 o10% (tj. 1go dnia po terminie można zdobyć 90% punktów, a9go już tylko 10%).Dwa razy w semestrze można wydłużyć termin oddaniazadania o tydzień. Trzeba to zgłosić przed upływempierwotnego terminu zadania.

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 4: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

O zajęciachProgram

Program

Reprezentacja cyfrowa obrazu, narzędzia, biblioteki, tworzeniebitmap.

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

Page 5: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

O zajęciachProgram

Program cd.

Podstawowe transformacje geometryczne w zastosowaniu doobróbki bitmap.

Morphing.

Teksturowanie trójkątów, transformacja perspektywiczna.

Grafika 3D - podstawowa reprezentacja świata, podstawoweprzekształcenia.

Modele interpolacji atrybutów (flat, Gouraud, Phong). Modeleoś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

Page 6: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

O zajęciachProgram

Literatura

Wprowadzenie do grafiki komputerowej, J.D. Foley, A. vanDam, S.K. Feiner, J.F. Hughes, R.L. Phillips, WNT,Warszawa 2001.

Michael Abrash’s Graphics Programming Black Book, withCD: The Complete Works of Graphics Master, Michael Abrash

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 7: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

Rasteryzacja

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 8: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

Rasteryzacja

Rasteryzacja to przedstawianie obrazu na kratownicy (siatce)za pomocą pikseli.

Piksel to najmniejszy jednolity element obrazu wyświetlany naekranie.Każdemu z pikseli przypiszemy kolorIstnieje wiele modeli barw (poznamy je później).Na razie użyjemy 24 bitowego modelu RGB. W tym modelu 8bitów opisuje kolor czerwony, 8 zielony i 8 niebieski.

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 9: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

Środowisko

System operacyjny:dowolny dostępny na wydzialeWindows XP/Vista/7Linux/SolarisMac OS X

Język:dowolnysugerowane: C, C++, D, C#, ...niezalecane: Java

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 10: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

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

Page 11: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

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

Page 12: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

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

Page 13: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

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

Page 14: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

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

Page 15: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

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 wersjiVCw projekcie SDL zmodyfikuj:Dodatkowe katalogi z plikami nagłówkowymi oraz zbibliotekami dodająć odpowiednie foldery z Microsoft DirectXSDK

Zbuduj projekt. Powstana pliki SDL.dll, SDL.lib orazSDLmain.lib

Michał Matuszak [email protected] Laboratorium grafiki i multimediów

Page 16: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

SDL - instrukcja cd.

SDL 1.3Otwieramy plik solucji i budujemy projekt. Powstaną plikiSDL.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

Page 17: Laboratorium grafiki i multimediów

Sprawy organizacyjneWprowadzenie

Reprezentacja obrazuBiblioteki

Inne biblioteki

pxCore

Qt

GTK+

Allegro

Michał Matuszak [email protected] Laboratorium grafiki i multimediów