Tytuł pozycji:
Silnik graficzny 3D wraz z narzędziami pomocniczymi będącymi podstawą ekonomiczno-przygodowej gry "Ekosystem"
Głównym elementem pracy dyplomowej jest silnik graficzny stworzony przy pomocy biblioteki OpenGL. W ramach podjętego projektu zostały zrealizowane i opisane następujące elementy trójwymiarowego silnika graficznego: tekstury i teksturowanie (wczytywanie, przetwarzanie, filtrowanie), trójwymiarowe modele (wczytywanie, przetwarzanie, indeksowanie Vertex Buffer Object), oświetlenie (model Phonga, trzy typy świateł: kierunkowe, punktowe, reflektora), mapowanie normalnych, mapowanie paralaksy, cienie (mapowanie cieni dla każdego rodzaju światła, cube shadow maps, wygładzanie krawędzi Percentage-Closer Filtering) oraz cieniowanie opóźnione. Przy pomocy biblioteki Qt stworzyliśmy dodatkowe narzędzia: edytor obiektów, służący do przetwarzania danych, wykorzystywanych przez silnik; oraz edytor poziomów, umożliwiający rozmieszczanie obiektów zgodnie z charakterem planowanej gry. Wykonane zostały również testy wydajnościowe.
The main part of the thesis is the graphics engine created using OpenGL library. As a part of the project the following elements of three-dimensional graphics engine were completed and described: textures and texturing (loading, processing, filtering), three-dimensional models (loading, processing, Vertex Buffer Object indexing), lighting (Phong model, three types of light: directional, point, spot), normal mapping, parallax mapping, shadows (shadow mapping for each type of light, cube shadow maps, anti-aliasing Percentage-Closer Filtering) and deferred rendering. Using Qt library we created additional tools: asset editor used to process loaded data for engine; world editor that allows to deploy objects consistent with the character of planned game. We have also made performance tests.