Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie w OpenGL i Direct3D
Tok studiów:
2019/2020
Kod:
EINF-2-108-GK-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia II stopnia
Specjalność:
Grafika komputerowa
Kierunek:
Informatyka
Semestr:
1
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
Turek Michał (mitu@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Moduł ma na celu zapoznanie z podstawami programowania popularnych trójwymiarowych bibliotek graficznych. Omawiane są też techniki integrowania materiałów graficznych w grach 3D.

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 zagadnienia związane z szybkim renderowaniem scen trójwymiarowych przy użyciu popularnych bibliotek graficznych INF2A_W05, INF2A_W07, INF2A_W02 Kolokwium
M_W002 Posiada wiedzę w zakresie funkcjonowania biblioteki graficznej OpenGL INF2A_W05, INF2A_W02 Kolokwium
M_W003 Zna zasady funkcjonowania interfejsu Direct3D INF2A_W05, INF2A_W02 Kolokwium
Umiejętności: potrafi
M_U001 Potrafi przeprowadzić materiały graficzne (modele 3D, tekstury itp.) do wykorzystania przy szybkim renderowaniu trójwymiarowym. INF2A_U05, INF2A_U08, INF2A_U06 Wykonanie ćwiczeń laboratoryjnych
M_U002 Potrafi tworzyć oprogramowanie wykorzystujące bibliotekę OpenGL w procesach wytwarzania grafiki INF2A_U05, INF2A_U08, INF2A_U06 Wykonanie ćwiczeń laboratoryjnych
M_U003 Potrafi tworzyć oprogramowanie wykorzystujące API Direct3D w procesach wytwarzania grafiki INF2A_U05, INF2A_U08, INF2A_U06 Wykonanie ćwiczeń laboratoryjnych
M_U004 Potrafi samodzielnie rozwiązywać złożone problemy występujące podczas wytwarzania systemów opartych o trójwymiarowe biblioteki graficzne. INF2A_U09, INF2A_U07, INF2A_U03 Wykonanie ćwiczeń laboratoryjnych
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
56 0 0 28 28 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 zagadnienia związane z szybkim renderowaniem scen trójwymiarowych przy użyciu popularnych bibliotek graficznych - - + - - - - - - - -
M_W002 Posiada wiedzę w zakresie funkcjonowania biblioteki graficznej OpenGL - - + - - - - - - - -
M_W003 Zna zasady funkcjonowania interfejsu Direct3D - - + - - - - - - - -
Umiejętności
M_U001 Potrafi przeprowadzić materiały graficzne (modele 3D, tekstury itp.) do wykorzystania przy szybkim renderowaniu trójwymiarowym. - - + - - - - - - - -
M_U002 Potrafi tworzyć oprogramowanie wykorzystujące bibliotekę OpenGL w procesach wytwarzania grafiki - - + - - - - - - - -
M_U003 Potrafi tworzyć oprogramowanie wykorzystujące API Direct3D w procesach wytwarzania grafiki - - + - - - - - - - -
M_U004 Potrafi samodzielnie rozwiązywać złożone problemy występujące podczas wytwarzania systemów opartych o trójwymiarowe biblioteki graficzne. - - - + - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 106 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 godz
Przygotowanie do zajęć 20 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Ćwiczenia projektowe (28h):
Tematyka zajęć projektowych

Projekty realizowane są w niewielkich zespołach. Tematyka projektu jest unikatowa dla każdego zespołu. Zespól uczestniczy w cotygodniowych sesjach projektowych.

Ćwiczenia laboratoryjne (28h):
Tematyka laboratorium

Zagadnienia związane z renderowaniem trójwymiarowym przy użyciu bibliotek graficznych: Wiadomości o szybkim renderowaniu potoków wielokątów w sprzętowych akceleratorach 3D. Układy odwzorowania przestrzeni 3D. Rysowanie figur prostych (prymitywów) i wyświetlanie siatek wielokątów. Reprezetacja brył trójwymiarowych. Sortowanie wielokątów w buforach głębokości. Procesy rasteryzacji wielokątów.

Tworzenie materiałów graficznych dla OpenGL i Direct3D: Pozyskiwanie i formatowanie modeli trójwymiarowych do wyświetlania, przygotowywanie tekstur, teksturowanie modeli 3D, tworzenie mipmap.

Wprowadzenie do OpenGL: Konwencje nazewnictwa funkcji i stałych bibliotecznych w OpenGL, typy zmiennych, obsługa błędów, podstawowe czynności konfiguracyjne.

Tworzenie aplikacji OpenGL: Przygotowanie kontekstu graficznego OpenGL, otwieranie okna graficznego, zarządzanie buforami graficznymi, zdarzenia i ich obsługa, konfigurowanie ustawień projekcji i rysowania w przestrzeni trójwymiarowej.

Rysowanie w OpenGL: Definiowanie obiektów rysowanych w OpenGL: definiowanie wierzchołków w układzie współrzędnych, definiowanie parametrów wyświetlania figur, przegląd funkcji bibliotecznych rysujących standardowe figury OpenGL.

Przekształcenia w przestrzeni trójwymiarowej OpenGL: Modelowanie sceny, ustalanie pozycji obserwatora, korekty perspektywy, ustawianie widoku graficznego i płaszczyzn odcięcia, zarządzanie oświetleniem sceny, definiowanie właściwości powierzchni odbijających światło, definiowanie źródeł światła.

Tekstury i materiały w OpenGL: Definiowanie tekstury, pobieranie grafik z plików dyskowych, operacje na pikselach, tryby przechowywania tekstur w pamięci, materiały w OpenGL, tekstury zwielokrotnione – mipmapy, nakładanie tekstury na powierzchnię obiektu – teksturowanie.

Efekty specjalne w OpenGL: Korekty kolorystyki teksturowanego obiektu, antyaliasing figur i całego widoku graficznego, mgła, rozmycie obiektów w ruchu, przezroczystość, przykłady zastosowań efektów specjalnych w OpenGL.

Wprowadzenie do Direct3D: Charakterystyka platformy i użytkowanie Direct3D w różnych jego wersjach. Komunikacja z urządzeniami. Zagadnienia związane z DirectPlay i DirectDraw.

Tworzenie aplikacji Direct3D: Tworzenie urządzeń Direct3D, otwieranie okien wyświetlania, konfigurowanie ustawień projekcji i rysowania w przestrzeni trójwymiarowej.

Porównanie Direct3D/win32 i DirectX.NET: Tworzenie aplikacji na bazie Direct3D/win32 i DirectX.NET.

Rysowanie w Direct3D: Alokowanie obiektów trójwymiarowych i ich rysowanie, przekształcenia w trójwymiarowej przestrzeni projekcji Direct3D.

Tekstury i materiały w Direct3D: Interpretacja koordynat tekstur, pobieranie tekstur z zasobów systemowych, wyświetlanie tekstur, miksowanie tekstur i kolorystycznych cech materiałów.

Efekty specjalne w Direct3D: konfigurowanie rozbudowanych parametrów wyświetlania sceny trójwymiarowej. Efekty przeźroczystości, mgły, oświetlanie sceny.

Pozostałe informacje
Metody i techniki kształcenia:
  • Ćwiczenia projektowe: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
  • Ć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:

Aby uzyskać pozytywną ocenę z ćwiczeń niezbędne jest uczestnictwo w zajęciach laboratoryjnych oraz uzyskanie pozytywnej oceny z kolokwium zaliczeniowego.

Aby uzyskać zaliczenie projektu należy zrealizować jedno z wytypowanych zadań, polegających na stworzeniu kompletnego rozwiązania wykorzystującego technologie powiązane z Direct3D i OpenGL.

Zasady udziału w zajęciach:
  • Ćwiczenia projektowe:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
  • Ć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:

Aby uzyskać pozytywną ocenę z ćwiczeń niezbędne jest uczestnictwo w zajęciach laboratoryjnych oraz uzyskanie pozytywnej oceny z kolokwium zaliczeniowego. Na kolokwium obowiązuje punktowa skala ocen, przeliczana liniowo na wyniki procentowe i oceny końcowe zgodnie Regulaminem Studiów.

Aby uzyskać zaliczenie projektu należy zrealizować jedno z wytypowanych zadań, polegających na stworzeniu kompletnego rozwiązania wykorzystującego technologie powiązane z Direct3D i OpenGL.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Odrobienie zajęć w ramach innej grupy

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

Posiadanie wiedzy na temat programowania imperatywnego.
Posiadanie wiedzy na temat architektur procesorów i systemów dla grafiki.

Zalecana literatura i pomoce naukowe:

OpenGL. Księga eksperta, Richard S. Wright jr, Michael Sweet, 1999, Helion
OpenGL. Programowanie gier, Kevin Hawkins, Dave Astle, 2003, Helion
DirectX. Rendering w czasie rzeczywistym, Kelly Dempski, 2003, Helion
Direct3D. Programowanie grafiki trójwymiarowej w DirectX. Biblia, Julio Sanchez, Maria Canton, 2003, Helion

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Stereoscopic 3D graph visualization for assisted data exploration and discovery / Michał TUREK, Dariusz PAŁKA, Marek ZACHARA // W: Multimedia and network information systems : proceedings of the 10th international conference MISSI 2016 / eds. Aleksander Zgrzywa, Kazimierz Choroś, Andrzej Siemiński. — Switzerland : Springer International Publishing, cop. 2017. — (Advances in Intelligent Systems and Computing ; ISSN 2194-5357 ; vol. 506). — ISBN: 978-3-319-43981-5 ; e-ISBN: 978-3-319-43982-2. — S. 227–238. — Bibliogr. s. 237–238, Abstr.
 
Optymalizacja skanowanych rotacyjnie siatek 3D prowadzona na potrzeby szybkiego renderowania w czasie rzeczywistym — 3D rotary scanned mesh optimization for fast real-time rendering / Michał TUREK // Automatyka = Automatics ; ISSN 1429-3447. — Tytuł poprz.: Automatyka : półrocznik Akademii Górniczo-Hutniczej im. Stanisława Staszica w Krakowie. — 2009 t. 13 z. 3 [cz.] 2, s. 1469–1480. — Bibliogr. s. 1480, Streszcz., Summ.
 
Metoda opisu brył przestrzennych z użyciem regułowej reprezentacji wiedzy — Rule-based knowledge approach for polygon mesh siplification / Michał TUREK // Automatyka = Automatics ; ISSN 1429-3447. — Tytuł poprz.: Automatyka : półrocznik Akademii Górniczo-Hutniczej im. Stanisława Staszica w Krakowie. — 2006 t. 10 z. 3, s. 571–578. — Bibliogr. s. 578, Streszcz., Summ.. — tekst: https://goo.gl/DNS3j6
 
Light-reflection analysis method for 3D surface damage identification / Michał TUREK, Dariusz PAŁKA // W: Information Systems Architecture and Technology: proceedings of 37th international conference on Information Systems Architecture and Technology – ISAT 2016 : [September 18–20, 2016, Karpacz, Poland], Pt. 3 / eds. Jerzy Świątek, [et al.]. — [Cham] : Springer International Publishing, cop. 2017. — (Advances in Intelligent Systems and Computing ; ISSN 2194-5357 ; vol. 523). — ISBN: 978-3-319-46588-3 ; e-ISBN: 978-3-319-46589-0. — S. 79–87. — Bibliogr. s. 86–87, Abstr.. — Toż na CD
 

Informacje dodatkowe:

Brak