Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Wstęp do grafiki komputerowej
Tok studiów:
2019/2020
Kod:
IINF-1-782-n
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
7
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Niestacjonarne
Strona www:
 
Prowadzący moduł:
Alda Witold (alda@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna i rozumie podstawowe pojęcia grafiki komputerowej, rastrowej i wektorowej INF1A_W02 Kolokwium
M_W002 Dysponuje wiedzą na temat struktury i możliwości biblioteki OpenGL INF1A_W03 Kolokwium
M_W003 Zna i rozumie transformacje geometryczne 3D, modele oświetlenia oraz operacje na teksturach. INF1A_W02 Kolokwium
M_W004 Zna i rozumie zaawansowane modele renderowania w czasie rzeczywistym. INF1A_W02 Kolokwium
Umiejętności: potrafi
M_U001 Potrafi przygotować program graficzny z ruchomym obserwatorem i poruszającymi się niezależnie lub hierarchicznie obiektami. INF1A_U07, INF1A_U06 Zaliczenie laboratorium
M_U002 Potrafi zrealizować w programie model oświetlenia OpenGL. INF1A_U07 Zaliczenie laboratorium
M_U003 Potrafi zrealizować różne sposoby mapowania tekstur. INF1A_U07 Zaliczenie laboratorium
M_U004 Potrafi zbudować interaktywny program obsługujący zdarzenia zewnętrzne od różnych urządzeń INF1A_U07 Zaliczenie laboratorium
Kompetencje społeczne: jest gotów do
M_K001 Orientuje się w charakterystyce dostępnych bibliotek graficznych i potrafi efektywnie z nich korzystać INF1A_K04 Egzamin
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
32 16 0 16 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna i rozumie podstawowe pojęcia grafiki komputerowej, rastrowej i wektorowej + - - - - - - - - - -
M_W002 Dysponuje wiedzą na temat struktury i możliwości biblioteki OpenGL + - - - - - - - - - -
M_W003 Zna i rozumie transformacje geometryczne 3D, modele oświetlenia oraz operacje na teksturach. + - - - - - - - - - -
M_W004 Zna i rozumie zaawansowane modele renderowania w czasie rzeczywistym. + - - - - - - - - - -
Umiejętności
M_U001 Potrafi przygotować program graficzny z ruchomym obserwatorem i poruszającymi się niezależnie lub hierarchicznie obiektami. - - + - - - - - - - -
M_U002 Potrafi zrealizować w programie model oświetlenia OpenGL. - - + - - - - - - - -
M_U003 Potrafi zrealizować różne sposoby mapowania tekstur. - - + - - - - - - - -
M_U004 Potrafi zbudować interaktywny program obsługujący zdarzenia zewnętrzne od różnych urządzeń - - + - - - - - - - -
Kompetencje społeczne
M_K001 Orientuje się w charakterystyce dostępnych bibliotek graficznych i potrafi efektywnie z nich korzystać + - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 150 godz
Punkty ECTS za moduł 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 32 godz
Przygotowanie do zajęć 32 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 47 godz
Samodzielne studiowanie tematyki zajęć 32 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (16h):
  1. Wprowadzenie do grafiki komputerowej. Podstawowe pojęcia (2 godz.)

    Klasyfikacja grafiki komputerowej. Scharakteryzowanie grafiki rastrowej i wektorowej, grafiki 2D i 3D. Analiza podstawowej postaci potoku graficznego nieprogramowanego i programowanego. Krótka charakterystyka sprzętu komputerowego. Przegląd zastosowania grafiki komputerowej w różnych dyscyplinach nauki i techniki.

  2. Wprowadzenie do OpenGL (2 godz.)

    Charakterystyka i historia biblioteki OpenGL. Ewolucja biblioteki i podstawowe różnice w dostępnych wersjach. Omówienie konstrukcji biblioteki, podstawowych funkcji, stałych i zmiennych systemowych. Przedstawienie pomocniczych bibliotek: freeglut – do obsługi interfejsu graficznego i obsługi zdarzeń, Glew – do sprawdzania możliwości sprzętu graficznego. Reprezentacja obiektów geometrycznych za pomocą siatki wielokątów. Struktura typowego programu w OpenGL.

  3. Architektura i programowanie procesorów graficznych (2 godz.)

    Przedstawienie logicznej struktury procesorów graficznych, na wybranym przyjkładzie. Omówienie współpracy CPU i GPU. Przedstawienie podstaw języka shakerów GLSL i zasad włączania go do programu OpenGL.

  4. Transformacje geometryczne (2 godz.).

    Transformacje 3D. Omówienie przekształceń afinicznych. Reprezentacja przekształceń przez macierz transformacji. Używanie funkcji transformacji i bezpośrednie operowanie na macierzach. Składanie transformacji. Interpretacja transformacji w lokalnym i globalnym układzie współrzędnych. Ruch obiektów, a ruch kamery. Rzutowanie: rodzaje, parametry i macierze rzutowania. Omówienie zmiany układu współrzędnych poprzez odkładanie stanu transformacji na stos. Budowanie układów obiektów o wielu stopniach swobody. Szczegółowe omówienie przykładów typu ‘układ planetarny’ i ‘kroczący robot’.

  5. Postrzeganie barwne. Modele oświetlenia (2 godz.).

    Krótkie omówienie teorii barwy i podstawowych modeli barwnych. Ogólne dywagacje na temat złożoności i efektywności modelu oświetlenia. Omówienie podstawowego modelu lokalnego ADS. Wprowadzenie normalnych do obliczania oświetlenia. Omówienie modeli Phonga, Blinna i interpolacji oświetlenia według Gourauda. Metoda śledzenia promieni. Oświetlenie globalne. Odbicia i załamania promien.

  6. Operacje rastrowe i mapowanie tekstur. (2 godz.)

    Omówienie operacji rastrowych w OpenGL. Kopiowanie bloków danych. Realizacja obiektów typu sprite. Omówienie działania z-bufora i wykorzystania jego możliwości. Podstawowe pojęcia dotyczące tekstur i ich parametrów. Wczytywanie tekstury z pliku. Tworzenie listy tekstur, mapowanie tekstur na obiekty geometryczne. Multiteksturowanie, łączenie tekstur z oświetleniem, mieszanie oświetlenia, omówienie techniki mipmappingu. Użycie tekstur do mapowania obrazu otoczenia (sphere mapping, cube mapping).

  7. Zaawansowane mapowanie tekstur (2 godz.)

    Multiteksturowanie, łączenie tekstur z oświetleniem, mieszanie oświetlenia, omówienie techniki mipmappingu. Użycie tekstur do mapowania obrazu otoczenia (sphere mapping, cube mapping). Wprowadzenie do tekstur 3D.

  8. Graficzne modelowanie zjawisk i procesów naturalnych. Perspektywy grafiki komputerowej (2 godz.)

    Wykład końcowy. Omówienie podstaw modelowania zjawisk i procesów naturalnych dla potrzeb grafiki komputerowej. Porównanie modeli fizycznych i niefizycznych. Przedstawienie perspektyw dla grafiki komputerowej.

Ćwiczenia laboratoryjne (16h):
-
Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:
  1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z laboratorium oraz egzaminu z wykładu.
  2. Obliczamy średnią ważoną z ocen z laboratorium (50%) i wykładów (50%) uzyskanych we wszystkich terminach.
  3. Wyznaczmy ocenę końcową na podstawie zależności:
    if sr>4.75 then OK:=5.0 else
    if sr>4.25 then OK:=4.5 else
    if sr>3.75 then OK:=4.0 else
    if sr>3.25 then OK:=3.5 else OK:=3
  4. Jeżeli pozytywną ocenę z laboratorium i egzaminu z wykładu uzyskano w pierwszym terminie oraz ocena końcowa jest mniejsza niż 5.0 to ocena końcowa jest podnoszona o 0.5
Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Znajomość matematyki (elementarna algebra macierzy), podstawowa znajomość programowania w C/C++

Zalecana literatura i pomoce naukowe:
  1. Foley, van Dam, Hughues, Wprowadzenie do grafiki komputerowej, WNT Warszawa 1997
  2. M.Woo, J.Neider, T.Davies, OpenGL – Programming Guide, Addison-Wesley 2009
  3. Randi J. Rost et al. OpenGL Shading Language, Addison-Wesley 2009
  4. R.S.Wright et al., OpenGL- SuperBible, Addison-Wesley, 2010
  5. T. Akenine-Moeller et al., Real-Time Rendering, AK Peters, 2008
  6. T. McReynolds, D. Blythe, Advanced Graphics Programming Using OpenGL, Morgan-Kaufman,2005.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

An improved kinematic model of the spine for three-dimensional motion analysis in the Vicon system / Mirosława M. DŁUGOSZ, Daria Panek, Paweł Maciejasz, Wiesław Chwała, Witold ALDA // W: Research into spinal deformities 8 / eds. Tomasz Kotwicki, Theodoros B. Grivas. — Amsterdam

An improved technique for full spectral rendering / Michał RADZISZEWSKI, Krzysztof BORYCZKO, Witold ALDA // Journal of WSCG

A parallel system for non-deterministic ray tracing / Michał Radziszewski, Witold ALDA // W: CMS’07 : Computer Methods and Systems = Metody i systemy komputerowe : VI konferencja : 21–23 November 2007, Kraków, Poland / eds. Ryszard Tadeusiewicz, Antoni Ligęza, Maciej Szymkat ; AGH University of Science and Technology, Cracow

Family of energy conserving glossy reflection models / Michał Radziszewski, Witold ALDA // W: Computational Science – ICCS 2008 : 8th International Conference : Kraków, June 23–25, 2008 : proceedings, Pt. 2 / eds. Marian Bubak, Geert Dick van Albada, Jack Dongarra, Peter M. A. Sloot. — Berlin ; Heidelberg : Springer-Verlag, cop. 2008. — (Lecture Notes in Computer Science ; ISSN 0302-9743 ; LNCS 5102).

Informacje dodatkowe:

Brak