Nowoczesna Grafika Komputerowa - kurs zaawansowany
dane organizacyjneprzedmiot studiówkandydaciprogramharmonogramkomunikaty

2020-02-25
Trwają zapisy na edycję rozpoczynającą się w semestrze letnim 2020.

~czytaj więcej
program studiów
PROGRAM STUDIÓW PODYPLOMOWYCH: Nowoczesna Grafika Komputerowa
Teoria grafiki komputerowej

Liczba punktów ECTS: 3
Wykład - 18h


Opis:

Współczesna animowana 3D grafika komputerowa wykorzystuje tak wiele pozornie odległych dziedzin wiedzy, że konieczny jest wykład teoretyczny konsolidujący tą wiedze. Oprócz wiedzy o tym jak liczona jest grafika (algorytmy) na różnych poziomach, pracując z grafiką komputerową należy posiadać orientacje w zakresie architektur komputerowych dla grafiki, wiedzę o profesjonalnym sprzęcie do jej tworzenia czy wreszcie umieć poradzić sobie z dynamiką obiektów typu "szkielet biegnącego dinozaura". Wykład teoretyczny ma tą wiedze zaprezentować lub rozszerzyć.

Tematyka zajęć:
  1. Obszary zastosowań grafiki komputerowej i ich charakterystyka.
  2. Psychologia widzenia i percepcji obrazu, kształtu i ruchu dla człowieka i porównawczo dla zwierząt.
  3. Sprzęt komputerowy niezbędny dla realizacji zaawansowanej grafiki komputerowej:
    • Zawansowane urządzenia I/O (skanery 3D, spacemouse, dataglove, etc.)
    • Konstrukcja systemów Virtual Reality i ich zastosowanie.
    • rocesory Graficzne:
      1. Koncepcja przetwarzania (graphics pipeline)
      2. Architektury procesorów graficznych (GPU) i wielopotokowych kart graficznych.
      3. Konstrukcje stacji roboczych i „super systemów” dla potrzeb grafiki komputerowej.
  4. Algorytmy i metody zrównoleglenia obliczeń w grafice komputerowej.
  5. Reprezentacja obiektów geometrycznych stosowanych w grafice komputerowej:
    • Stosowane w profesjonalnych systemach prymitywy graficzne i ich reprezentacja matematyczna:
      1. Obiekty prosto- i krzywokreślne (krzywe Hermite’a Bezier,a, NURBS).
      2. Modele obliczeniowe złożonych obiektów; ciecze, gazy.
      3. Modele hierarchiczne w grafice komputerowej 3D.
    • Zasady konstrukcji sceny.
  6. Transformacje geometryczne. Trudności obliczeniowe transformacji.
  7. Obliczanie wizualizacji obiektów i scen graficznych w układzie 2D i 3D.
  8. Modele oświetlenia, koloru, przeźroczystości i przedstawienia powierzchni.
  9. Tekstury – konstruowanie tekstur.
  10. Animacja (grafika 4D):
    • Problemy i stosowane metody przedstawiania dynamiki obiektów.
    • Modelowanie i liczenie dynamiki: szkielety i pokrycia. Definiowanie środowisk.
    • Edytory animacji.
  11. Modelowanie złożonych obiektów, systemów obiektów i struktur (np. twarz ludzka).
  12. Fraktale.
  13. Przegląd i analiza porównawcza profesjonalnych systemów do tworzenie grafiki komputerowej.
  14. Najważniejsze konferencje i ośrodki zajmujące się grafiką komputerowa w Polsce i na Świecie.
Artystyczne aspekty grafiki komputerowej

Liczba punktów ECTS: 2
Wykład - 12h


Opis:

Animowana grafika 3D

Liczba punktów ECTS: 5
Ćwiczenia laboratoryjne, projekt - 24h


Opis:

Jest to jedna z bardziej istotnych części studiów, zapewniająca jednocześnie po jego ukończeniu kwalifikacje wystarczające aby samemu móc zrealizować np. spot reklamowy, program symulujący prace maszyny, etc. Na takim poziomie programuje się grafikę w wyspecjalizowanych studiach i w prywatnych firmach, gdzie liczy się jakość i czas realizacji zamówienia. Okazuje się, że praca z takim pakietem bezpośrednio tłumaczy szereg zjawisk w nowoczesnej grafice komputerowej i obnaża trudności techniczne.

Tematyka zajęć:
  1. Wprowadzenie do anmowanej grafiki 3D.
    • Utworzenie prostego projektu.
    • Dodanie projektu do puli Project Manager.
    • Środowisko.
    • Interakcja z systemem.
  2. Podstawy
    • Przykład: Budujemy uliczkę.
    • Edytowanie własności.
  3. Modelowanie & Deformacje.
    • Modelowanie przy pomocy siatki wieloboków.
    • Deformacje obiektów.
  4. Podstawy Animacji.
    • Animacja na niskim poziomie komplikacji.
  5. Definiowanie Istot.
    • Tworzenie szkieletu Istoty.
    • Pokrywanie Istoty skórą.
    • Tworzenie cyklu ruchu Istoty.
  6. Zaawansowana Animacja
    • Wprowadzenie do animacji ruchu Istoty.
    • Zaawansowana animacja ruchu Istoty.
    • Animacja ruchów twarzy.
  7. Skrypty
  8. Drzewo renderowania i Tekstury.
    • Proste tekstury.
    • Drzewa renderowania: shadery i tekstury.
    • Edytor tekstur.
  9. Oświetlenie pośrednie i bezpośrednie.
    • Efekty oświetleniowe.
    • Tzw. oświetlenie globalne.
    • Oświetlenie kaustyczne.
    • Metoda tzw. podsumowania powierzchniowego.
  10. Renderowanie i Kompozycja.
    • Tworzenie przebiegów renderowania.
    • Finalna kompozycja.
  11. Symulacja.
    • Systemy cząsteczkowe
    • Renderowanie systemów cząsteczkowych.
    • Tworzenie cieczy.
    • Dynamika sztywnych obiektów.
  12. Tworzenie włosów.
Programowanie wirtualnej rzeczywistość

Liczba punktów ECTS: 4
Ćwiczenia laboratoryjne, projekt - 18h


Opis:

Języki WebGL, WebVR, WebXR są narzędziami informatycznymi pozwalającymi na dodanie do sieci Internet trzeciego wymiaru (możliwe wykorzystanie chełmów rozszeżonej (MS HoloLens) oraz wirtualnej (Oculus) rzeczywistości). Można w nim wyspecyfikować parametry geometryczne obiektów znajdujących się na scenie, a następnie uczestnik świata wirtualnego, zwany „awatarem”, może je dowolnie eksplorować, oczywiście korzystając z odpowiedniej przeglądarki. W ramach zajęć ich uczestnicy poznają podstawy programowania wirtualnych światów, co pozwoli im na stworzenie w ramach ćwiczeń praktycznych np. wirtualnych modeli średniowiecznych zamków.

Tematyka zajęć:
  1. Wprowadzenie
    • historia powstania WebGL, WebVR, WebXR
    • przeglądarki plików WebGL, WebVR, WebXR
    • metody tworzenia światów WebGL, WebVR, WebXR
    • dołączanie światów VRML do dokumentów HTML5
    • podstawy składni
    • węzły, pola i zdarzenia
  2. Struktura sceny trójwymiarowej:
    • układ współrzędnych
    • lokalne układy współrzędnych
    • definicja obszaru pracy węzła
    • wielokrotne przywoływanie zdefiniowanych elementów
  3. Podstawowe elementy języka WebGL, WebVR, WebXR:
    • węzły (grupujące, geometryczne, zależne od czasu, wiążące, interpolujące, czujnikowe)
    • nawigacja, zdarzenia, czas, światło, prototypy
  4. Stosowanie języków skryptowych:
    • WebGL, WebVR, WebXR i JavaScript
    • uruchamianie i zamykanie skryptów
    • bezpośrednie wysyłanie zdarzeń
    • dołączanie skryptów
    • zasady dostępu do pól i zdarzeń
  5. Szczegółowa charakterystyka węzłów:
    • węzły grupujące (Anchor, Billboard, Collision, Group, Transform)
    • węzły geometryczne (Shape, Box, Cone, Cylinder, ElevationGrid, Extrusion, PointSet, Shere, Text)
    • węzły właściwości brył (color, Coordinate, Normal, TextureCoordinate)
    • węzły świateł (DirectionalLight, PointLight, SpotLight)
    • węzły dźwięków (AudioClip, Sound)
    • węzły czujnikowe (CylinderSensor, PlaneSensor, ProximitySensor, SphereSensor, TimeSensor, TouchSensor, VisibilitySensor)
    • węzły interpolacji (ColorInterpolator, CoordinateInterpolator, NormalInterpolator, OrientationInterpolator, PositionInterpolator, ScalarInterpolator)
  6. Narzędzia do tworzenia wirtualnych światów:
    • VRCreator, VRBinder, 3D Modeler
  7. Perspektywy rozwoju WebGL, WebVR, WebXR:
    • budowa interfejsu pomiędzy przeglądarką WebGL, WebVR, WebXR a światem zewnętrznym
    • opracowanie standardów tworzenia ludzkiej reprezentacji w świecie wirtualnym
  8. VRML i inne języki internetowe:
    • External Authoring Interface, Java 3D
  9. Przeglądarki WebGL:
    • Cosmo Player, Ccpro3D, WIRL, Community Place Browser
  10. Edytory VRML:
    • VRCreator, Community Place Conductor, V-Realm Builder
Symulacja zjawisk fizycznych we współczesnej grafice 3D

Liczba punktów ECTS: 3
Ćwiczenia laboratoryjne, projekt - 12h


Opis:

Zaawansowane techniki programowania stron WWW

Liczba punktów ECTS: 5
Ćwiczenia laboratoryjne, projekt - 24h


Opis:

Programowanie stron WWW jest formą realizacji grafiki komputerowej. Ograniczenia sprzętowe i sieciowe redukują stopień animacji strony i powodują, że przewagę ma grafika 2D a nie 3D. Może się to jednak wkrótce zmienić, czego objawy widoczne są np. w działaniach firmy Microsoft. Zajęcia z programowania stron WWW w połączeniu z innymi przedmiotami Studium mają zapewnić pewnego rodzaju „kompletność” kształcenia w zakresie grafiki.

Tematyka zajęć:
  1. Problematyka programowania WWW (server-side, client-side), podstawowe pojęcia (HTTP, MIME, URI, URL), podstawowe technologie WWW.
  2. Język HTML, struktura dokumentu, formatowanie tekstu, odsyłacze hipertekstowe, listy, tabele, ramki, grafika, formularze, multimedia na stronach WWW.
  3. Projektowanie serwisów WWW - layout, struktura serwisu, nawigacja, prezentowanie danych.
  4. Podstawy CSS - dziedziczenie, kaskadowość, składnia, definicji stylu. CSS - tworzenie klas, tworzenie identyfikatora ID, selektor kontekstowy i uniwersalny, pseudoklasy, pseudoelementy.
  5. Sposoby wstawiania arkuszy stylów. CSS - przykłady.
  6. Podstawy języka JavaScript, sposoby umieszczania skryptów JavaScript.
  7. Podstawy programowania, zmienne, funkcje, instrukcje sterujące, główne obiekty, metody, zdarzenia.
  8. JavaScript - przykłady.
  9. Adobe Flash
  10. Programowanie obiektowe w PHP.
  11. Wykorzystanie technologii PHP w aplikacjach bazodanowych.
  12. Bezpieczeństwo w aplikacjach internetowych.
Programowanie gier komputerowych

Liczba punktów ECTS: 5
Ćwiczenia laboratoryjne, projekt - 24h


Opis:

Podobnie jak kiedyś komputery klasy PC, dzisiaj gry komputerowe oparte o animowaną grafikę 3D „popchnęły” architekturę procesorów ku dalszemu rozwojowi. Wystarczy przypomnieć jaka przewagę w mocy obliczeniowej nad najszybszymi procesorami Pentium ma 9-rdzeniowy GPU „CELL” zaprojektowany dla PlayStation 3. Może się okazać, że wkrótce domowy komputer PC będzie składał się z karty graficznej ... i reszty ... Wyraźnie widać, że aktualny postęp w grafice komputerowej napędzany jest i inspirowany właśnie grami komputerowymi. Poprzez gry komputerowe ambitna grafika komputerowa także „trafia pod strzechy”. Oznacza to, że kurs grafiki komputerowej musi zawierać moduł zajmujący się grami ...

Tematyka zajęć:
  1. Programowanie gier w Javie: wprowadzenie do języka, wątki i ich synchronizacja, model zdarzeń, rysunki, animacje, podwójne buforowanie, ulepszanie animacji, efekty dźwiękowe oraz muzyka, zapisywania gier: klasy I/O, serializacja.
  2. Programowanie gier sieciowych: obsługa sieci: gniazda TCP/IP, RMI, Web Services
  3. Programowanie gier 3D: biblioteka Java 3D
  4. Programowanie gier na telefony komórkowe: J2ME, Android
  5. Matematyczne aspekty programowania gier, elementy sztucznej inteligencji w grach.
Zaawansowane techniki programowania w OpenGL

Liczba punktów ECTS: 5
Ćwiczenia laboratoryjne, projekt - 24h


Opis:

Grafika komputerowa może być realizowana na różnych poziomach, stosując pakiety oprogramowania o różnym stopniu komplikacji. Pakiety do animacji 3D są przykładem realizacji najwyższego poziomu, gdzie do pakietu wbudowane już są zjawiska fizyczne (grawitacja, elastyczność tkanin, woda, wiatr, etc.) pozwalając tym samym albo na b. szybkie programowanie złożonych efektów, albo na używanie pakietu po krótkim przeszkoleniu przez "artystów" posiadających minimalną wiedze nt. komputera. Osoba która chce móc powiedzieć, że "zna się" na grafice komputerowej musi umieć także programować grafikę w asemblerze, za jaki niewątpliwie można uznać OpenGL. Taki tryb programowani pozwala na napisanie b. optymalnych programów, jednak za cenę dużego wysiłku i sporego nakładu czasu.

Tematyka zajęć:
  1. Wprowadzenie do OpenGL i konwencje stosowane w OpenGL:
    • typy zmiennych
    • nazewnictwo funkcji i stałych bibliotecznych
    • obsługa błędów
    • układ współrzędnych
    • tryby koloru
  2. Przygotowanie kontekstu graficznego OpenGL:
    • otwieranie okna graficznego
    • zarządzanie buforami graficznymi
    • zdarzenia i ich obsługa
  3. Definiowanie obiektów 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 i zawartych w bibliotekach GLU oraz GLAUX
  4. Przekształcenia w przestrzeni trójwymiarowej OpenGL:
    • modelowanie sceny
    • ustalanie pozycji obserwatora
    • korekty perspektywy
    • ustawianie widoku graficznego i płaszczyzn odcięci
  5. Zarządzanie oświetleniem sceny:
    • definiowanie właściwości powierzchni odbijających światło
    • definiowanie źródeł światła
  6. Teksturowanie:
    • definiowanie tekstury
    • pobieranie grafik z plików dyskowych
    • operacje na pikselach
    • tryby przechowywania tekstur w pamięci
    • tekstury zwielokrotnione - mipmapy
    • nakładanie tekstury na powierzchnię obiektu - teksturowanie
    • powielanie wyświetlania tekstury
    • korekty kolorystyki teksturowanego obiektu
  7. Efekty specjalne:
    • antyaliasing figur i całego widoku graficznego
    • mgła
    • rozmycie obiektów w ruchu,
    • przezroczystość
  8. Przykłady zastosowań OpenGL.
Projektowanie w systemie CAD
Liczba punktów ECTS: 3
Ćwiczenia laboratoryjne, projekt - 12h


Opis:

Programowanie procesorów graficznych

Liczba punktów ECTS: 3
Ćwiczenia laboratoryjne, projekt - 12h


Opis:




strona główna  |  dane organizacyjne  |  przedmiot studiów  |  kandydaci  |  program  |  harmonogram  |  komunikaty
strona główna strona główna