Zasady zaliczenia

by Paweł Pięta published 2019/01/18 06:22:00 GMT+2, last modified 2022-03-13T01:09:48+02:00
  1. Obowiązują ogólne zasady zaliczenia projektów, o ile punkty poniżej nie stanowią inaczej.
  2. Tematyka projektów może dotyczyć przetwarzania bitmap lub gier wideo 2D/3D, przy czym z pierwszej tematyki można uzyskać maksymalnie ocenę 4.0 i może być ona realizowana w zespołach maksymalnie 2-osobowych.
  3. Projekty mogą być tworzone w dowolnym środowisku z użyciem języków C/C++. Mile widziany framework Qt.
  4. Dokumentacja techniczna kodu źródłowego, o której mowa w ogólnych zasadach zaliczenia projektów, ma być wygenerowana programem Doxygen.
  5. Podczas oceniania projektów będą brane pod uwagę następujące aspekty:
    • intuicyjność obsługi programu,
    • atrakcyjność rozgrywki (w przypadku projektów dotyczących gier wideo),
    • czytelność kodu (indentacja, intuicyjne nazwy zmiennych/podprogramów/parametrów/klas),
    • podział kodu na podprogramy z parametrami, klasy i pliki nagłówkowe/źródłowe,
    • jakość sprawozdania i dokumentacji technicznej kodu źródłowego,
    • wkład poszczególnych członków zespołu w wykonanie projektu.

Szczegółowe wymagania wobec projektów dotyczących przetwarzania bitmap

  • Wczytywanie i wyświetlanie na ekranie dowolnej wskazanej przez użytkownika mapy bitowej.
  • Ustawianie parametrów przekształceń za pomocą okien dialogowych, skrótów klawiszowych i myszy.
  • Wyświetlanie wynikowej mapy bitowej na ekranie.
  • Zapis wynikowej mapy bitowej do pliku graficznego (w co najmniej dwóch dowolnie wybranych formatach).

Szczegółowe wymagania wobec projektów dotyczących gier wideo 2D/3D

  • Wykorzystanie biblioteki Allegro 4 / Allegro 5 / SFML / SDL / OpenGL / inna (grafika 2D).
  • Wykorzystanie biblioteki OpenGL (grafika 3D).
  • Obsługa klawiatury i myszy lub ekranu dotykowego.
  • Menu ekranowe gry.
  • Zapisywanie i wczytywanie stanu gry.
  • Wykorzystanie podstawowych transformacji (przesunięcie, obrót, skalowanie).
  • Wykorzystanie sprite'ów (grafika 2D).
  • Teksturowanie obiektów (grafika 3D).
  • Oświetlenie sceny (grafika 3D).