Mobilne aplikacje multimedialne

Transkrypt

Mobilne aplikacje multimedialne
Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI
Mobilne aplikacje multimedialne
Projekt: stworzenie przeglądarki trójwymiarowych
modeli działającej w systemie Android
Wymagania
Celem projektu jest stworzenie aplikacji służącej do wyświetlania modeli 3D
z wykorzystaniem standardu OpenGL ES w wersji 2.0 albo wyższej (dopuszczalne jest
również użycie technologii WebGL) działającej na systemie Android. Zadanie można
realizować indywidualnie lub w zespołach dwuosobowych. Podstawą zaliczenia projektu
będzie prezentacja stworzonej aplikacji w wyznaczonym terminie na wybranym urządzeniu
mobilnym oraz dostarczenie wszelkich plików potrzebnych do jej skompilowania i
uruchomienia. Projekt należy wykonać w jednym z niżej opisanych wariantów. Ewentualne
odstępstwa od zamieszczonych wymagań należy skonsultować z prowadzącym przynajmniej
na tydzień przed terminem oddawania projektu.
Wariant pierwszy
Aplikacja powinna być stworzona bez użycia dodatkowych bibliotek, chyba że zostaną one
wykorzystane wyłącznie w celu stworzenia elementów niezwiązanych bezpośrednio z
wyświetlaniem grafiki 3D (np. interfejsu graficznego) albo posłużą do wykonywania jakichś
operacji pomocniczych (np. obliczania macierzy). Dopuszczalne jest także skorzystanie z
gotowych shaderów, o ile zezwala na to ich licencja. Sugerowane jest rozwinięcie aplikacji
stworzonej w ramach laboratorium z części OpenGL ES.
Wymagania na ≥ 2 punkty:
• możliwość wczytywania i renderowania modeli zapisanych w plikach w wybranym
formacie (sugerowany jest standard OBJ) opisujących przynajmniej:
◦ pozycje wierzchołków
◦ ściany (trójkąty) modelu
◦ normalne
◦ mapowanie tekstury
Wymagania na ≥ 3 punkty:
• oświetlenie sceny za pomocą światła punktowego lub kierunkowego
• stabilne działanie programu
1
Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI
Wymagania na ≥ 4 punkty:
• dodanie interfejsu graficznego umożliwiającego:
◦ dodawanie i usuwanie modeli ze sceny
◦ zmianę położenia i koloru światła
◦ możliwość wyświetlania na ekranie więcej niż jednego modelu naraz
• możliwość zmiany pozycji kamery w wygodny sposób
Wymagania na 5 punktów:
• możliwość automatycznego wyliczania nowych normalnych dla modelu na dwa
sposoby:
◦ dla każdej ściany
◦ dla każdego wierzchołka
Wariant drugi
Należy stworzyć aplikację z wykorzystaniem dowolnego silnika 3D spełniającego poniższe
kryteria:
1. Jego licencja użytkowania musi zezwalać na darmowe wykorzystanie w celach
akademickich / niekomercyjnych. Przykłady spełniające powyższe kryterium (należy
samodzielnie zweryfikować aktualność poniższej listy):
a) Unreal Engine
b) libGDX
c) Ardor3D
d) OGRE 3D
e) Three.js (WebGL)
2. Nie może nim być Unity, który jest tematem osobnego projektu w ramach niniejszego
przedmiotu.
Dozwolone jest (a nawet zalecane) skorzystanie z wszelkich dostępnych w wybranym silniku
mechanizmów ułatwiających wykonanie zadania, w tym gotowych metod służących do
wczytywania modeli i tworzenia graficznego interfejsu użytkownika.
Wymagania na ≥ 2 punkty:
• możliwość wczytywania i renderowania zarówno statycznych, jak i animowanych
modeli zapisanych w plikach w wybranym formacie, takim jak DAE (Collada) czy
SMD
• możliwość wyświetlania na ekranie więcej niż jednego modelu naraz
• możliwość oświetlenia sceny za pomocą kilku świateł jednocześnie
• przygotowanie dokumentu tekstowego zawierającego następujące informacje:
◦ nazwy użytych programów i bibliotek (z zaznaczeniem ich wersji)
◦ instrukcję zbudowania aplikacji (krok po kroku)
Wymagania na ≥ 3 punkty:
• dodanie interfejsu graficznego umożliwiającego:
◦ dodawanie i usuwanie modeli ze sceny
◦ zmianę położenia i koloru świateł
2
Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI
◦ zmianę prędkości animacji modeli
• możliwość zmiany pozycji kamery w wygodny sposób
Wymagania na ≥ 4 punkty:
• możliwość zmiany pozycji, obrotu i skali modeli
• możliwość dołączenia opcjonalnych obiektów do przykładowych modeli (np.
umieszczenia jakiegoś przedmiotu w dłoni postaci, który byłby osobnym obiektem,
ale jednocześnie przemieszczałby się wraz z animacją tej postaci)
stabilne działanie programu
Wymagania na 5 punktów:
• możliwość automatycznego wyliczania nowych normalnych dla modelu na dwa
sposoby:
◦ dla każdej ściany
◦ dla każdego wierzchołka
• możliwość wybrania alternatywnego materiału (tekstury czy shadera) nakładanego na
model
3