Programowanie grafiki 3D w OpenGL

Cel przedmiotu

Celem przedmiotu jest nauczenie studentów tworzenia aplikacji wykorzystujących bibliotekę OpenGL do przetwarzania oraz wyświetlania grafiki trójwymiarowej.

Treści programowe

Wykład będzie omawiał podstawy programowania w OpenGLu. Wykład będzie oparty na implementacji w języku C/C++ ale jest możliwość realizowania projektu w innych językach (Java/Python itp).

Tematy wykładów

  1. Pierwszy program OpenGL
  2. Programowalny potok w OpenGL
  3. Wstęp do przekształceń przestrzeni
  4. Wczytywanie plików OBJ
  5. Tekstury w OpenGL
  6. Oświetlenie kierunkowe i punktowe
  7. Cieniowanie Gourauda oraz Phonga
  8. Tekstura sześcienna
  9. Shader geometrii
  10. Rendering pozaekranowy
  11. Shadow mapping
  12. Environment mapping
  13. Implementacja podłoża
  14. Wstęp do problemu kolizji
  15. Selekcja obiektów

Wymagania wstępne

Zaliczenie laboratorium

Kilka zadań projektowych do domu, które będą bronione na zajęciach. Kartkówki ze znajomości omawianych zagadnień. Ocena 3.0 od 51% maksymalnej liczby podstawowych punktów. Każde kolejne 10% to pół oceny w górę.

Zaliczenie wykładu

Projekt na ocenę.

Materiały i literatura

  1. Janusz Ganczarski, OpenGL. Podstawy programowania grafiki 3D, Helion.
  2. Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, OpenGL. Księga eksperta, Wydanie VII, Helion.
  3. Kevin Hawkins, Dave Astle, OpenGL. Programowanie gier, Helion.
  4. OpenGL Reference Manual, Silicon Graphics, Inc.
  5. Luke Benstead, Beginning OpenGL Game Programming, Cengage Learning PTR.