Mobile 3D Graphics API

Java Platform, Micro Edition > 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 file format拡張子|  .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++ ライブラリ

## 外部リンク

[編集]

* 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グラフィック使用に関連して

* 表
* 話
* 編
* 歴

Java

プラットフォーム|

* Java言語
* JVM
* Java ME (Micro)
* Java SE (Standard)
* Jakarta EE
* Javaカード
* Android SDK

オラクルのテクノロジー|

* Java開発キット
* OpenJDK
* JVM
* JavaFX
* Maxine VM
* Squawk

プラットフォーム技術|

* アプレット
* サーブレット
* JSP
* JSF
* Web Start (JNLP)
* MIDlet

主なサードパーティ技術|

* Eclipse
* Spring
* GNU Classpath
* Hibernate
* GWT
* IcedTea
* Struts
* WildFly
* TopLink
* harmony
* Jazelle
* blackdown

歴史|

* Javaバージョン履歴
* Java Community Process
* サンマイクロシステムズ
* 自由なJavaの実装

主要なJVM言語|

* BeanShell
* Clojure
* Groovy
* JRuby
* Jython
* Kotlin
* Processing
* Rhino
* Scala

コミュニティ|

| カンファレンス|

* JavaOne
* Devoxx

|

組織|

* Apache Software Foundation
* Java Community Process
* オラクル
* サン・マイクロシステムズ

人物|

* ジェームズ・ゴスリン
* アーサー・ヴァン・ホフ
* ウルス・ヘルツレ
* パトリック・ノートン

* カテゴリ
* コモンズ
* Portal:コンピュータ

* 表
* 話
* 編
* 歴

3Dファイル形式

レガシー|

| 3DCG|

* Wavefront OBJ形式 (*.obj)
* PLY形式 (*.ply)
* DirectX .x形式 (*.x)
* 3D Studio形式 (*.3ds)
* Softimage dotXSI形式 (*.xsi)

|

3D CAD|

* AutoCAD DXF形式 (*.dxf)
* VDA-FS形式 (*.vda)
* IGES形式 (*.igs、*.iges)

ラピッドプロトタイピング
及びマルチメディア|

* 3D Systems STL形式 (*.stl)
* VRML形式 (*.wrl、*.wrz)
* Microsoft XAML形式 (*.xaml)
* Shockwave 3D形式 (*.w3d)
* Mobile 3D Graphics形式 (*.m3d)
* 3DMLW (*.3dmlw)
* Away3Dデータ形式 (*.awd)（英語版）
* Universal 3D形式 (*.u3d)（英語版）

現行|

| 3DCG|

* COLLADA形式 (*.dae)
* Autodesk FBX形式 (*.fbx)
* Alembic形式 (*.abc)
* OpenSceneGraph形式 (*.osg、*.osgb、*.osgt、*.osgx、*.ive、*.osga)
* USD形式 (*.usd、*.usda、*.usdc、*.usdz)

|

3D CAD|

* AutoCAD DWG形式 (*.dwg)
* STEP形式 (*.step、*.stp)
* openNURBS形式 (*.3dm)
* IFC形式 (*.ifc)
* SXF形式 (*.sxf)

3D都市モデル（英語版）|

* ESRI shapefile形式 (*.shp、*.shx、*.dbf)
* KML形式 (*.kml)
* CityGML形式 (*.gml)（英語版）

Web3D|

* X3D形式 (*.x3d、.x3dv、*.x3db)
* glTF (*.gltf、*.glb)

3Dプリンター|

* AMF形式 (*.amf)
* 3MF形式 (*.3mf)

フライトシミュレータ|

* AC3D形式 (*.ac)
* OpenFlight形式 (*.flt)（英語版）

ボクセル/ボリューム|

* OpenVDB形式 (*.vdb)（英語版）