Radosław Mantiuk

West Pomeranian University of Technology, Szczecin, Poland

Przedmiot: Programowanie gier komputerowych (S1)

Tematyka wykładów:

  • Obraz rastrowy (pdf)
    • Tworzenie obrazu rastrowego (pojęcia próbkowania, integracji i kwantyzacji).
    • Częstotliwość próbkowania obrazu, teoria próbkowania Nyquista-Shannona.
    • Reprezentacja obrazu w dziedzinie częstotliwości, przekształcenie Fourier’a.
    • Rekonstrukcja i wyświetlanie obrazu.
    • Aliasing i metody zmniejszania aliasingu.
    • Korekcja gamma.
    • Częstotliwość wyświetlania obrazów (pojęcie czasu rzeczywistego).
  • Potok graficzny (pdfpdfpdf,pdf)
    • Dane wejściowe w systemach graficznych – scena 3D.
    • Wykorzystanie rachunku macierzowo-wektorowego do transformacji geometrii (podstawowe przekształcenia geometryczne, składanie i odwracanie przekształceń, przekształcenia euklidesowe i afiniczne).
    • Architektura potoku graficznego czasu rzeczywistego (aplikacja->przetwarzanie geometrii->rasteryzacja).
      • Transformacje modelu.
      • Transformacja widzenia.
      • Rzutowanie.
      • Obcinanie.
      • Transformacja do współrzędnych rastrowych.
      • Wypełnianie trójkątów.
      • Cieniowanie pikseli.
      • Łączenie danych (bufor Z).
    • Równanie oświetlenia i cieniowanie:
      • Równanie oświetlenia Phonga i Blinna-Phonga.
      • Model oświetlenia Phonga: obliczanie składowych ambient, diffuse, specular.
      • Cieniowanie płaskie, Gourauda i Phonga.
    • Potok teksturowania:
      • Pojęcie tekstury.
      • Mapowanie tekstur.
      • Funcje korespondera.
      • Filtrowanie tekstur (filtracja anizotropowa i perspektywiczna, mip-mapping).
      • Typy teksturowania (mapowanie nierówności, przesunięć,  środowiska, przezroczystości).
      • Cache’owanie oraz kompresja tekstur, atlas tekstur.
      • Tekstury proceduralne.

Zajęcia lab. i projektowe:

  1. Wprowadzenie do Unity (tworzenie nowego projektu, importowanie assetów, tworzenie podstawowej sceny wyłącznie z elementów dostarczonych przez Unity).
  2. Importowanie własnych assetów, tworzenie GameObject i Prefabów, wstęp do pisania skryptów (User Input, transformacje).
  3. Rozwinięcie User Input (wykorzystanie aspektu wieloplatformowości, obsługa przycisków i gałek na Shieldzie (materiały).
  4. Silnik fizyczny: tworzenie triggerów, interakcja między obiektami.
  5. Silnik fizyczny: wykorzystanie właściwości brył sztywnych.
  6. Dźwięk: tworzenie dźwięków przestrzennych, manipulowanie dźwiękiem.
  7. Animacja 3D: legacy i Mecanim.
  8. UI: tworzenie interfejsu użytkownika za pomocą wbudowanych w Unity narzędzi.
  9. AI: pathfinding z wykorzystaniem A* Pathfinding Project (materiały).
  10. Wykorzystanie Photon Networking do tworzenia gier sieciowych (materiały).