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