Mobile 3D Graphics API
Mobile 3D Graphics API (M3G) は、3次元コンピュータグラフィックスを生成するJavaを記述するためのAPIを定義した仕様である。M3Gは携帯電話やPDAのような組み込みデバイス向けのJavaプラットフォームバージョンである Java Platform, Micro Edition の性能を拡張する。 オブジェクト指向インターフェースは3次元シーン複雑なアニメーションを描画することに使用できる30のクラスで構成している。M3GはJava Community Processの下でJSR 184として開発された。2006年現在、現在のM3Gのバージョンは1.1である。
M3Gの目標
編集M3Gはモバイルデバイスの特殊な要求に適応するように設計された。モバイルデバイスはメモリ、メモリバンド幅およびプロセッサパワーの点で制約されており、しばしばFPUとGPUのようなグラフィックアクセラレーションハードウェアが欠けている。
M3GはJava3Dではない
編集M3GはJava3Dと間違えるべきではない。Java3Dはstandard Java platformの性能を拡張する。Java3Dはモバイルデバイスよりメモリが多く強力なフロセッサパワー を持ったPC向けに設計されている。 M3GとJava3Dは2つに分かれそれぞれ異なった用途に向けて設計された互換性のないAPIである。
immediate modeとretained mode
編集M3Gは開発者が3Dグラフィックを描画するために2の方法(immediate mode, retained mode)を提供している。immediate modeではグラフィック命令はグラフィックパイプラインに直接に入力されレンダリングエンジンが即座に命令を実行する。この方法を使うときは、開発者はレンダリングエンジンにそれぞれのアニメーションフレームごとに描画する内容を特別に伝えるコードを記述しなければならない。
retained modeは木構造で3D世界の幾何的なオブジェクトをリンクするシーングラフを使用する。 それぞれのオブジェクトに関する幾何学構造、位置、容姿などの高次元の情報はフレーム間で保持される
その他の特徴
編集拡張子 | .m3g |
---|---|
MIMEタイプ | application/m3g |
開発者 | Oracle |
最新版 | 1.1 |
種別 | モバイル向け3D形式 |
国際標準 | JSR 184 |
ウェブサイト | JSR 184: Mobile 3D Graphics API for J2ME |
M3G standardはアニメーションデータも含む3Dモデルデータのファイルフォーマットも定義している。
M3G ユーティリティー
編集- Desktop-M3G - M3G for Linux and Android のオープンソース実装
- XMM3G - M3G for Windows, WinCE, Linux, Android, iOS, Bada のオープンソース実装
- M3X - XML encoding of the .m3g file format and related open-source tools
- Wizzer Works M3G Viewer - .m3g ファイルを閲覧・操作するためのオープンそースツールキット
- Maya 用の M3GExport
- Mascot Capsule M3G Exporter for 3ds Max, Maya, Lightwave, and Softimage|XSI
- M3G Exporter for Milkshape 3D for MilkShape3D
- Blender Exporter - Blender向けの M3G エクスポーターのオープンソース実装
- Blender Converter - Blender向けのオープンソースのファイルレベルコンバーター
- M3G Exporter for Metasequoia - Metasequoia 向けのオープンソースの M3G エクスポーター
- M3G Reader Writer - .m3g ファイルを読み書きするオープンソースの C/C++ ライブラリ