Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: inżynieria oprogramowania

Sylabus przedmiotu Algorytmy grafiki komputerowej czasu rzeczywistego - Przedmiot obieralny I:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauk technicznych
Profil ogólnoakademicki
Moduł
Przedmiot Algorytmy grafiki komputerowej czasu rzeczywistego - Przedmiot obieralny I
Specjalność grafika komputerowa i systemy multimedialne
Jednostka prowadząca Katedra Systemów Multimedialnych
Nauczyciel odpowiedzialny Radosław Mantiuk <Radoslaw.Mantiuk@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 10 Grupa obieralna 1

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW3 10 1,90,50zaliczenie
laboratoriaL3 10 2,10,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Grafika komputerowa i wizualizacja
W-2Umiejętność programowania w języku C/C++
W-3Podstawowa wiedza z matematyki stosowanej oraz fizyki w zakresie obliczen macierzowo-wektorowych, optyki, kolorymetrii, termodynamiki oraz mechaniki falowej i kwantowej

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie z technikami programowania bibliotek graficznych
C-2Zapoznanie z technikami z programowaniem sprzetowym karty graficznej
C-3Projektowanie i programowanie z wykorzystaniem maszyny stanów
C-4Zdobycie kompetencji społecznej współpracy w grupie, umiejetności wspólnego rozwiązywania problemów, dobierania narzędzi, technik oraz algorytmów, porównywania jakości uzyskanych efektów
C-5Zdobycie kompetencji personalnych w zakresie dobierania oraz analizy literatury dostępnej w internecie dotyczącej programowania gier oraz wykorzystania jej w praktyce w swoich projektach
C-6Umiejętność wykorzystania technik programowania bibliotek graficznych
C-7Umiejętność programowania sprzętowego z wykorzystaniem języka GLSL

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Oprogramowanie prostej gry komputerowej uwzględniającej podstawowe algorytmy wpływające na realizm renderowanej sceny - zapoznanie się ze środowiskiem openGL1
T-L-2Przygotowanie sceny, wykorzystanie przeksztalceń geometrycznych1
T-L-3Oświetlenie sceny - ustawienie i zdefiniowanie parametrów światła oraz materiałów1
T-L-4Teksturowanie - nałożenie tekstur, wykorzystanie algorytmów teksturowania1
T-L-5Efekty specjalne, wykorzystanie algorytmów zwiększających realizm na scenie.1
T-L-6Programowanie sprzetowe - GPU1
T-L-7Zapoznanie się z silnikiem graficznym2
T-L-8Przygotowanie aplikacji z wykorzystaniem OGRE, algorytmów dot. efektów specjalnych oraz języka GLSL1
T-L-9Zaliczenie laboratorium1
10
wykłady
T-W-1Wykład organizacyjny. Zdefiniowanie wymagań oraz zakresu materiału realizowanego na zjęciach.1
T-W-2Wprowadzenie do trójwymiarowej grafiki komputerowej (pojęcie systemu graficznego, definicja sceny 3D,reprezentacja obiektów geometrycznych, pojęcie kamery wirtualnej, definicja źródeł światła, pojęcie materiału, potok graficzny czasu rzeczywistego).1
T-W-3Wygląd sceny i obiektów (rodzaje źródeł światła, równianie oświetlenia, algorytmy cieniowania, zjawisko aliasingu oraz algorytmy antyaliasingu).1
T-W-4Teksturowanie (potok teksturowania, filtrowanie tekstur, algorytm mipmappingu, filtrowanie anizotropowe).2
T-W-5Mapowanie środowiska. Odbicia w powierzchniach płaskich, mapowanie nierówności.2
T-W-6Bufory (koloru, głębokości, maski, stereo, ramki, akumulacji) oraz efekty dodatkowe (efekty flare, bloom, korona oraz halo, pojęcie motion blur, głębia widzenia, efekt mgły).1
T-W-7Obliczenia dowolnego przeznaczenia z wykorzystaniem procesora graficznego GPGPU1
T-W-8Zaliczenie wykładu1
10

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Praca w domu przy programowaniu gry.50
A-L-2Uczestnictwo w zajęciach laboratoryjnych.10
60
wykłady
A-W-1Uczestnictwo w wykładach.10
A-W-2Przygotowanie sie do zaliczenia.10
20

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykłady wspomagane prezentacją multimedialną.
M-2Na projekcie zespołowa realizacja zadań wspomagających pracę na ćwiczeniach laboratoryjnych w zakresie zapoznania sie z procesem tworzenia gry komputerowej, wykorzystywanymi technikami programistycznymi oraz tworzenia dokumentacji.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Kontrola postepów tworzonego projektu oraz współpracy pomiędzy poszczególnymi członkami zespołu
S-2Ocena podsumowująca: Ocena jakości oraz kompletności stworzonej aplikacji czasu rzeczywistego
S-3Ocena podsumowująca: Egzamin z wiedzy teoretycznej
S-4Ocena formująca: Kontrola postepów oraz poprawności tworzonej dokumentacji

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D17/O/1-4_W01
W wyniku przeprowadzonych zajęć student powinien być w stanie opisać potok graficzny czasu rzeczywistego, scharakteryzować podstawowe algorytmy trójwymiarowej oraz interaktywnej grafiki komputerowej.
I_2A_W06, I_2A_W04, I_2A_W05T2A_W04, T2A_W07C-2, C-1T-W-6, T-L-7, T-L-2, T-L-4, T-L-5, T-L-3M-1S-3

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D17/O/1-4_U01
W wyniku przeprowadzonych zajęć student powinien umieć zaprojektować i zaimplementować aplikację czasu rzeczywistego, zastosować techniki tworzenia aplikacji czasu rzeczywistego, uwzględniając elementy podnoszące realizm tworzonego oprogramowania oraz wykorzystać techniki programowania procesora graficznego za pomocą języka GLSL.
I_2A_U03, I_2A_U02, I_2A_U07, I_2A_U12, I_2A_U08T2A_U01, T2A_U02, T2A_U03, T2A_U04, T2A_U07, T2A_U09, T2A_U10, T2A_U12, T2A_U14, T2A_U18C-3, C-7, C-6T-L-8, T-L-1, T-L-6M-2S-2, S-4, S-1

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D17/O/1-4_K01
W wyniku przeprowadzonych zajęć student nabędzie następujące postawy: aktywność w określaniu priorytetów służących do realizacji określonego zadania oraz otwartość na pracę w zespole zadaniowo, postrzeganie relacji oraz hiererchii pracy grupowej.
I_2A_K06, I_2A_K05T2A_K03, T2A_K04, T2A_K06C-4, C-5T-L-8M-2S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/O/1-4_W01
W wyniku przeprowadzonych zajęć student powinien być w stanie opisać potok graficzny czasu rzeczywistego, scharakteryzować podstawowe algorytmy trójwymiarowej oraz interaktywnej grafiki komputerowej.
2,0
3,0dostateczne opanowanie wiedzy przekazywanej na wykładzie
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/O/1-4_U01
W wyniku przeprowadzonych zajęć student powinien umieć zaprojektować i zaimplementować aplikację czasu rzeczywistego, zastosować techniki tworzenia aplikacji czasu rzeczywistego, uwzględniając elementy podnoszące realizm tworzonego oprogramowania oraz wykorzystać techniki programowania procesora graficznego za pomocą języka GLSL.
2,0
3,0nabycie umożliwości umożliwiających dostateczne wykonanie projektu na ćwiczenia lab.
3,5
4,0
4,5
5,0

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D17/O/1-4_K01
W wyniku przeprowadzonych zajęć student nabędzie następujące postawy: aktywność w określaniu priorytetów służących do realizacji określonego zadania oraz otwartość na pracę w zespole zadaniowo, postrzeganie relacji oraz hiererchii pracy grupowej.
2,0
3,0nabycie kompetencji w zakresie studiowania literatury umożliwiających dostateczną realizację projektu wykonywanego w czasie ćwiczeń lab.,
3,5
4,0
4,5
5,0

Literatura podstawowa

  1. Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Real-Time rendering, A.K. Peters Ltd., 2008, trzecie
  2. Randima Fernando, GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics, Addison-Wesley Professional, 2005
  3. Engel, Shaderx7, Cengage Learning, 2009

Literatura dodatkowa

  1. Matt Pharr, Randima Fernando, GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, Addison-Wesley Professional, 2005, 2011

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Oprogramowanie prostej gry komputerowej uwzględniającej podstawowe algorytmy wpływające na realizm renderowanej sceny - zapoznanie się ze środowiskiem openGL1
T-L-2Przygotowanie sceny, wykorzystanie przeksztalceń geometrycznych1
T-L-3Oświetlenie sceny - ustawienie i zdefiniowanie parametrów światła oraz materiałów1
T-L-4Teksturowanie - nałożenie tekstur, wykorzystanie algorytmów teksturowania1
T-L-5Efekty specjalne, wykorzystanie algorytmów zwiększających realizm na scenie.1
T-L-6Programowanie sprzetowe - GPU1
T-L-7Zapoznanie się z silnikiem graficznym2
T-L-8Przygotowanie aplikacji z wykorzystaniem OGRE, algorytmów dot. efektów specjalnych oraz języka GLSL1
T-L-9Zaliczenie laboratorium1
10

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wykład organizacyjny. Zdefiniowanie wymagań oraz zakresu materiału realizowanego na zjęciach.1
T-W-2Wprowadzenie do trójwymiarowej grafiki komputerowej (pojęcie systemu graficznego, definicja sceny 3D,reprezentacja obiektów geometrycznych, pojęcie kamery wirtualnej, definicja źródeł światła, pojęcie materiału, potok graficzny czasu rzeczywistego).1
T-W-3Wygląd sceny i obiektów (rodzaje źródeł światła, równianie oświetlenia, algorytmy cieniowania, zjawisko aliasingu oraz algorytmy antyaliasingu).1
T-W-4Teksturowanie (potok teksturowania, filtrowanie tekstur, algorytm mipmappingu, filtrowanie anizotropowe).2
T-W-5Mapowanie środowiska. Odbicia w powierzchniach płaskich, mapowanie nierówności.2
T-W-6Bufory (koloru, głębokości, maski, stereo, ramki, akumulacji) oraz efekty dodatkowe (efekty flare, bloom, korona oraz halo, pojęcie motion blur, głębia widzenia, efekt mgły).1
T-W-7Obliczenia dowolnego przeznaczenia z wykorzystaniem procesora graficznego GPGPU1
T-W-8Zaliczenie wykładu1
10

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Praca w domu przy programowaniu gry.50
A-L-2Uczestnictwo w zajęciach laboratoryjnych.10
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w wykładach.10
A-W-2Przygotowanie sie do zaliczenia.10
20
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/O/1-4_W01W wyniku przeprowadzonych zajęć student powinien być w stanie opisać potok graficzny czasu rzeczywistego, scharakteryzować podstawowe algorytmy trójwymiarowej oraz interaktywnej grafiki komputerowej.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W06Posiada wiedzę o narzędziach sprzętowo-programowych wspomagających rozwiązywanie wybranych i złożonych problemów w różnych obszarach nauki i techniki
I_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W05Ma rozszerzoną i podbudowaną teoretycznie wiedzę z zakresu metod informatyki wykorzystywanych do rozwiązywania problemów w wybranych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-2Zapoznanie z technikami z programowaniem sprzetowym karty graficznej
C-1Zapoznanie z technikami programowania bibliotek graficznych
Treści programoweT-W-6Bufory (koloru, głębokości, maski, stereo, ramki, akumulacji) oraz efekty dodatkowe (efekty flare, bloom, korona oraz halo, pojęcie motion blur, głębia widzenia, efekt mgły).
T-L-7Zapoznanie się z silnikiem graficznym
T-L-2Przygotowanie sceny, wykorzystanie przeksztalceń geometrycznych
T-L-4Teksturowanie - nałożenie tekstur, wykorzystanie algorytmów teksturowania
T-L-5Efekty specjalne, wykorzystanie algorytmów zwiększających realizm na scenie.
T-L-3Oświetlenie sceny - ustawienie i zdefiniowanie parametrów światła oraz materiałów
Metody nauczaniaM-1Wykłady wspomagane prezentacją multimedialną.
Sposób ocenyS-3Ocena podsumowująca: Egzamin z wiedzy teoretycznej
Kryteria ocenyOcenaKryterium oceny
2,0
3,0dostateczne opanowanie wiedzy przekazywanej na wykładzie
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/O/1-4_U01W wyniku przeprowadzonych zajęć student powinien umieć zaprojektować i zaimplementować aplikację czasu rzeczywistego, zastosować techniki tworzenia aplikacji czasu rzeczywistego, uwzględniając elementy podnoszące realizm tworzonego oprogramowania oraz wykorzystać techniki programowania procesora graficznego za pomocą języka GLSL.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U03Potrafi aktywnie uczestniczyć w pracach projektowych indywidualnych i zespołowych przyjmując w nich różne role
I_2A_U02Potrafi pozyskiwać informacje z różnych źródeł (literatura, Internet, bazy danych, dokumentacja techniczna), dokonywać ich interpretacji i oceny
I_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_U08Potrafi wykorzystywać narzędzia sprzętowo-programowe wspomagające rozwiązywanie wybranych problemów w różnych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U01potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów; potrafi integrować uzyskane informacje, dokonywać ich interpretacji i krytycznej oceny, a także wyciągać wnioski oraz formułować i wyczerpująco uzasadniać opinie
T2A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
T2A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - integrować wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zastosować podejście systemowe, uwzględniające także aspekty pozatechniczne
T2A_U12potrafi ocenić przydatność i możliwość wykorzystania nowych osiągnięć (technik i technologii) w zakresie studiowanego kierunku studiów
T2A_U14potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działali inżynierskich
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
Cel przedmiotuC-3Projektowanie i programowanie z wykorzystaniem maszyny stanów
C-7Umiejętność programowania sprzętowego z wykorzystaniem języka GLSL
C-6Umiejętność wykorzystania technik programowania bibliotek graficznych
Treści programoweT-L-8Przygotowanie aplikacji z wykorzystaniem OGRE, algorytmów dot. efektów specjalnych oraz języka GLSL
T-L-1Oprogramowanie prostej gry komputerowej uwzględniającej podstawowe algorytmy wpływające na realizm renderowanej sceny - zapoznanie się ze środowiskiem openGL
T-L-6Programowanie sprzetowe - GPU
Metody nauczaniaM-2Na projekcie zespołowa realizacja zadań wspomagających pracę na ćwiczeniach laboratoryjnych w zakresie zapoznania sie z procesem tworzenia gry komputerowej, wykorzystywanymi technikami programistycznymi oraz tworzenia dokumentacji.
Sposób ocenyS-2Ocena podsumowująca: Ocena jakości oraz kompletności stworzonej aplikacji czasu rzeczywistego
S-4Ocena formująca: Kontrola postepów oraz poprawności tworzonej dokumentacji
S-1Ocena formująca: Kontrola postepów tworzonego projektu oraz współpracy pomiędzy poszczególnymi członkami zespołu
Kryteria ocenyOcenaKryterium oceny
2,0
3,0nabycie umożliwości umożliwiających dostateczne wykonanie projektu na ćwiczenia lab.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D17/O/1-4_K01W wyniku przeprowadzonych zajęć student nabędzie następujące postawy: aktywność w określaniu priorytetów służących do realizacji określonego zadania oraz otwartość na pracę w zespole zadaniowo, postrzeganie relacji oraz hiererchii pracy grupowej.
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K06Potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy
I_2A_K05Ma świadomość odpowiedzialności za kierowany zespół ludzi i za zadania realizowane wspólnie z tym zespołem
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K03potrafi współdziałać i pracować w grupie, przyjmując w niej różne role
T2A_K04potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania
T2A_K06potrafi myśleć i działać w sposób kreatywny i przedsiębiorczy
Cel przedmiotuC-4Zdobycie kompetencji społecznej współpracy w grupie, umiejetności wspólnego rozwiązywania problemów, dobierania narzędzi, technik oraz algorytmów, porównywania jakości uzyskanych efektów
C-5Zdobycie kompetencji personalnych w zakresie dobierania oraz analizy literatury dostępnej w internecie dotyczącej programowania gier oraz wykorzystania jej w praktyce w swoich projektach
Treści programoweT-L-8Przygotowanie aplikacji z wykorzystaniem OGRE, algorytmów dot. efektów specjalnych oraz języka GLSL
Metody nauczaniaM-2Na projekcie zespołowa realizacja zadań wspomagających pracę na ćwiczeniach laboratoryjnych w zakresie zapoznania sie z procesem tworzenia gry komputerowej, wykorzystywanymi technikami programistycznymi oraz tworzenia dokumentacji.
Sposób ocenyS-1Ocena formująca: Kontrola postepów tworzonego projektu oraz współpracy pomiędzy poszczególnymi członkami zespołu
Kryteria ocenyOcenaKryterium oceny
2,0
3,0nabycie kompetencji w zakresie studiowania literatury umożliwiających dostateczną realizację projektu wykonywanego w czasie ćwiczeń lab.,
3,5
4,0
4,5
5,0