Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Grafika komputerowa
Tok studiów:
2014/2015
Kod:
ITE-1-514-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Teleinformatyka
Semestr:
5
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
Alda Witold (alda@agh.edu.pl)
Osoby prowadzące:
Alda Witold (alda@agh.edu.pl)
Krótka charakterystyka modułu

Grafika komputerowa, transformacje geometryczne, modelowanie powierzchni, modelowanie 3D, narzędzia Blender, OpenGL i WebGL.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Zna i rozumie podstawowe pojęcia grafiki komputerowej, rastrowej i wektorowej TE1A_W06 Kolokwium
M_W002 Dysponuje wiedzą na temat struktury i możliwości biblioteki OpenGL TE1A_W10, TE1A_W06 Kolokwium
M_W003 Zna i rozumie transformacje geometryczne 3D, modele oświetlenia oraz operacje na teksturach. TE1A_W10, TE1A_W06 Kolokwium
Umiejętności
M_U001 Potrafi przygotować i wyrenderować animowaną scenę w programie Blender TE1A_U08 Projekt
M_U002 Potrafi zrealizować w programie model oświetlenia i mapowania tekstur w OpenGL. TE1A_U08 Projekt
M_U003 Potrafi złożyć średnio rozbudowany program graficzny w OpenGL i przenieść go do WebGL TE1A_U08 Projekt
Kompetencje społeczne
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się TE1A_K01
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
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. + - - - - - - - - - -
Umiejętności
M_U001 Potrafi przygotować i wyrenderować animowaną scenę w programie Blender - - + - - - - - - - -
M_U002 Potrafi zrealizować w programie model oświetlenia i mapowania tekstur w OpenGL. - - + - - - - - - - -
M_U003 Potrafi złożyć średnio rozbudowany program graficzny w OpenGL i przenieść go do WebGL - - + - - - - - - - -
Kompetencje społeczne
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się + - - - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

  1. Wprowadzenie do grafiki komputerowej. Podstawowe pojęcia 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. Transformacje geometryczne.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.
  3. Postrzeganie barwne. Modele oświetlenia 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.
  4. Modelowanie powierzchni. Reprezentacja powierzchni za pomocą funkcji parametrycznych i funkcji uwikłanych. Poligonizacja. Informacja o metodzie Marching Cubes.
  5. Wprowadzenie do modelowania 3D. Przegląd popularnych modelerów 3D. Tworzenie i edytowanie obiektów za pomocą programu Blender.
  6. Tekstury. Podstawowe pojęcia dotyczące tekstur. Użycie tekstur w programie Blender. Tworzenie tekstur proceduralnych.
  7. Renderowanie. Renderowanie kompletnej sceny w programie Blender. Tworzenie animacji.
  8. Graficzne modelowanie zjawisk i procesów naturalnych. Omówienie podstaw modelowania zjawisk i procesów naturalnych dla potrzeb grafiki komputerowej. Porównanie modeli fizycznych i niefizycznych. Przykłady realizacji w programie Blender.
  9. Wprowadzenie do OpenGL. 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.
  10. Stos transformacji i tworzenie obiektów hierarchicznych. 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’.
  11. Architektura i programowanie procesorów graficznych. Przedstawienie logicznej struktury procesorów graficznych, na wybranym przykładzie. Omówienie współpracy CPU i GPU. Przedstawienie podstaw języka shaderów GLSL i zasad włączania go do programu OpenGL.
  12. Oświetlenie sceny i mapowanie tekstur w OpenGL. Podstawy. Podstawowe pojęcia dotyczące oświetlenia i użycia tekstur. Przykłady w GLSL. Wczytywanie tekstury z pliku. Tworzenie listy tekstur, mapowanie tekstur na obiekty geometryczne.
  13. Zaawansowane mapowanie tekstur .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.
  14. Wprowadzenie do WebGL. Przedstawienie technologii przejścia z OpenGL do WebGL. Umieszczanie grafiki 3D na stronach internetowych.
  15. Perspektywy grafiki komputerowej. Wykład końcowy. Przedstawienie perspektyw sprzętowych i programowych dla grafiki komputerowej. Łączenie grafiki komputerowej z innymi dyscyplinami.

Ćwiczenia laboratoryjne:

  1. Zbudowanie i wizualizowanie prostej sceny 3D w programie Blender (2 godz.).
  2. Edytowanie obiektów w programie Blender (4 godz.).
  3. Ćwiczenia w stosowaniu zróżnicowanego oświetlenia sceny i użycia tekstur (4 godz.).
  4. Generowanie tekstur proceduralnych w programie Blender (2 godz.).
  5. Rendering i tworzenie animacji w programie Blender (2 godz.).
  6. Przykłady modelowania zjawisk naturalnych (przepływ wody, dym, chmury) w programie Blender (2 godz.).
  7. Realizacja podstawowych programów graficznych w OpenGL (2 godz.).
  8. Manipulowanie transformacjami geometrycznymi w OpenGL. Przelot nad sceną (2 godz.)..
  9. Stos transformacji. Budowa obiektu hierarchicznego (2 godz.).
  10. Modelowanie oświetlenia w OpenGL (2 godz.).
  11. Nakładanie tekstur (2 godz.).
  12. Nakładanie tekstur typu Sphere mapping i Skybox oraz efekty specjalne (2 godz.).
  13. Ćwiczenia w osadzaniu programów w WebGL na stronach WWW (2 godz.).

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 125 godz
Punkty ECTS za moduł 5 ECTS
Udział w wykładach 28 godz
Samodzielne studiowanie tematyki zajęć 34 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Przygotowanie sprawozdania, pracy pisemnej, prezentacji, itp. 35 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z laboratorium oraz kolokwium zaliczeniowego z wykładu.
2. Obliczamy średnią ważoną z ocen z laboratorium (75%) i wykładów (25%) 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 zaliczenia wykładu uzyskano w pierwszym terminie oraz ocena końcowa jest mniejsza niż 5.0 to ocena końcowa jest podnoszona o 0.5

Wymagania wstępne i dodatkowe:

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

Limit przyjęć na przedmiot wynosi 24 osoby.

Zalecana literatura i pomoce naukowe:

1. Foley, van Dam, Hughues, Wprowadzenie do grafiki komputerowej, WNT Warszawa 1997
2. K.Kuklo, J.Kolmaga, Blender-kompendium, Helion 2008
3. M.Woo, J.Neider, T.Davies, OpenGL – Programming Guide, Addison-Wesley 2009
4. Randi J. Rost et al. OpenGL Shading Language, Addison-Wesley 2009
5. R.S.Wright et al., OpenGL- SuperBible, Addison-Wesley, 2010
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:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak