Mobile 3D Graphics API

Mobile 3D Graphics API (M3G) について



Mobile 3D Graphics API (M3G) は、Java Platform, Micro Edition (Java ME) 向けの3次元コンピュータグラフィックスAPIです。携帯電話やPDAなどの組み込みデバイスで3Dグラフィックスを効率的に利用できるように設計されており、Java MEのグラフィックス機能を拡張します。

M3Gは、30個のクラスから構成されるオブジェクト指向インターフェースを提供し、複雑な3Dシーンやアニメーションの描画を可能にします。このAPIは、Java Community Process (JCP) の下でJSR 184として開発され、2006年時点での最新バージョンは1.1です。

M3Gの主な特徴



M3Gは、モバイルデバイス特有の制約、例えばメモリ容量、メモリバンド幅、プロセッサ能力の制限に対応するように設計されています。これらのデバイスは、FPUやGPUなどのグラフィックスアクセラレーションハードウェアを搭載していないことも多いため、M3Gはこれらの制約を考慮した上で効率的な3Dグラフィックス描画を可能にします。

Java3Dとの違い



M3Gは、標準Javaプラットフォーム向けのJava3Dとは異なるAPIです。Java3Dは、より多くのメモリと強力なプロセッサを搭載したPCなどのデバイスを対象としており、モバイルデバイスには適していません。M3GとJava3Dは、それぞれ異なる用途に向けて設計された互換性のないAPIです。

immediate modeとretained mode



M3Gは、3Dグラフィックスを描画するための2つのモードを提供します。

immediate mode: グラフィックス命令を直接グラフィックスパイプラインに入力し、レンダリングエンジンが即座に実行します。開発者は、アニメーションフレームごとに描画内容を細かく指定する必要があります。
retained mode: シーングラフと呼ばれる木構造を使用して3D世界の幾何オブジェクトをリンクします。各オブジェクトの形状、位置、外観などの高レベル情報はフレーム間で保持されます。

その他の特徴



M3G標準では、3Dモデルデータに加えてアニメーションデータも含むファイルフォーマットを定義しています。これにより、3Dモデルとアニメーションを統合的に管理できます。

M3G関連ユーティリティ



M3Gの開発や利用を支援する様々なユーティリティが提供されています。

Desktop-M3G: LinuxおよびAndroid向けのM3Gオープンソース実装。
XMM3G: Windows, WinCE, Linux, Android, iOS, Bada向けのM3Gオープンソース実装。
M3X: .m3gファイルフォーマットのXMLエンコーディングと関連するオープンソースツール。
Wizzer Works M3G Viewer: .m3gファイルの閲覧・操作用オープンソースツールキット。
Maya 用の M3GExport: Autodesk Maya向けのM3Gエクスポーター。
Mascot Capsule M3G Exporter: 3ds Max, Maya, Lightwave, Softimage|XSI向けのM3Gエクスポーター。
M3G Exporter for Milkshape 3D: MilkShape3D向けのM3Gエクスポーター。
Blender Exporter: Blender向けのM3Gエクスポーターオープンソース実装。
Blender Converter: Blender向けのオープンソースファイルレベルコンバーター。
M3G Exporter for Metasequoia: Metasequoia向けのM3Gエクスポーターオープンソース実装。
M3G Reader Writer: .m3gファイルを読み書きするオープンソースのC/C++ライブラリ。

外部リンク



JSR 184: Mobile 3D Graphics API for J2ME
Getting Started With the Mobile 3D Graphics API for J2ME
JSR 239: Java Binding for the OpenGL ES API - 3Dグラフィック使用に関連して

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。