Programowanie grafiki 3D w OpenGL

Cel przedmiotu

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

Treści programowe

Wykład będzie omawiał podstawy programowania w OpenGLu oraz podstawy tworzenia prostych silników gier 3D. Wykład będzie oparty na implementacji w języku C/C++ ale jest możliwość realizowania projektu w innych językach (Java/Python itd).

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

Regularnie oddawane zadania domowe na punkty. 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.