Interfejs API mobilnej grafiki 3D
Interfejs Mobile 3D Graphics API , powszechnie określany jako M3G , to specyfikacja definiująca interfejs API do pisania programów Java , które tworzą trójwymiarową grafikę komputerową . Rozszerza możliwości Java ME , wersji platformy Java dostosowanej do urządzeń wbudowanych, takich jak telefony komórkowe i PDA . Interfejs obiektowy składa się z 30 klas które można wykorzystać do rysowania złożonych animowanych trójwymiarowych scen. M3G został opracowany w ramach Java Community Process jako JSR 184. Od 2007 r. Obecna wersja M3G to 1.1, ale wersja 2.0 jest w fazie rozwoju jako JSR 297.
Cele M3G
M3G został zaprojektowany w celu zaspokojenia specyficznych potrzeb urządzeń mobilnych, które są ograniczone pod względem pamięci i mocy obliczeniowej, i którym często brakuje FPU i sprzętu graficznego, takiego jak GPU . Architektura API pozwala na jego całkowite zaimplementowanie w oprogramowaniu lub wykorzystanie sprzętu obecnego na urządzeniu.
Tryby natychmiastowe i zachowane
M3G zapewnia programistom dwa sposoby rysowania grafiki 3D: tryb natychmiastowy i tryb zachowany . W trybie natychmiastowym polecenia graficzne są wydawane bezpośrednio do potoku graficznego, a silnik renderujący wykonuje je natychmiast. Korzystając z tej metody, programista musi napisać kod, który wyraźnie mówi silnikowi renderującemu, co ma narysować dla każdej klatki animacji . Kamera i zestaw świateł są również powiązane ze sceną, ale niekoniecznie są jej częścią. W trybie natychmiastowym możliwe jest wyświetlanie pojedynczych obiektów, jak i całych scen (lub światów, z kamerą, światłami i tłem jako częściami sceny).
Tryb Zachowany zawsze korzysta z wykresu sceny , który łączy wszystkie obiekty geometryczne w świecie 3D w strukturę drzewa , a także określa kamerę, światła i tło. Informacje wyższego poziomu o każdym obiekcie — takie jak jego struktura geometryczna, położenie i wygląd — są zachowywane w kolejnych klatkach.
Inne funkcje
Standard M3G określa również format plików dla danych modelu 3D, w tym danych animacji. Dzięki temu programiści mogą tworzyć treści na komputerach PC, które mogą być ładowane przez M3G na urządzenia mobilne.
Dalsza lektura
- Alessio Malizia: mobilna grafika 3D , Springer, 2006, ISBN 978-1-84628-383-3
- Kari Pulli, Tomi Aarnio, Ville Miettinen , Kimmo Roimela, Jani Vaarala: Mobilna grafika 3D z OpenGL ES i M3G , Morgan Kaufmann, 2007, ISBN 0-12-373727-3
- Claus Höfele: Mobile 3D Graphics: Learning 3D Graphics with the Java Micro Edition , Thomson Course Technology PTR, 2007, ISBN 1-59863-292-2
- Carlos Morales, David Nelson: Tworzenie mobilnych gier 3D: od początku do rynku , Charles River Media, 2007, ISBN 1-58450-512-5
Narzędzia M3G
- Desktop-M3G - implementacja M3G typu open source dla systemów Linux i Android
- XMM3G – Otwarta implementacja M3G dla systemów Windows, WinCE, Linux, Android, iOS i Bada
- M3X [ permanent dead link ] – kodowanie XML formatu pliku .m3g i powiązane narzędzia open source
- Wizzer Works M3G Viewer – zestaw narzędzi typu open source do przeglądania i manipulowania plikami .m3g
- M3GEExport dla Mayi
- Mascot Capsule Eksporter M3G dla 3ds Max, Maya, Lightwave i Softimage|XSI
- Eksporter M3G dla Milkshape 3D zarchiwizowany 2012-01-01 w Wayback Machine dla MilkShape3D
- Blender Exporter – eksporter M3G typu open source dla Blendera
- Blender Converter – konwerter plików typu open source dla Blendera
- Eksporter M3G dla Metasequoia – eksporter M3G typu open source dla Metasequoia
- M3G Reader Writer – otwarta biblioteka C/C++ do odczytu/zapisu plików .m3g
Linki zewnętrzne
- JSR 184 (mobilny interfejs API grafiki 3D dla J2ME 1.0, 1.1)
- Specyfikacja JSR 184 1.1 (specyfikacja techniczna mobilnego interfejsu API grafiki 3D, wersja 1.1, 22 czerwca 2005 r.)
- JSR 297 (API 2.0 mobilnej grafiki 3D)
- Pierwsze kroki z mobilnym interfejsem API grafiki 3D dla J2ME
- Grafika 3D dla urządzeń mobilnych Java: część 1 i część 2
- JSR 239 (Java Bindings for OpenGL Embedded Subset) – powiązana specyfikacja grafiki Java ME
- Urządzenia kompatybilne z JSR 184 (lista wydajności większości mobilnych urządzeń 3D)