3D 技術在桌面遊戲早已普及 (OpenGL, Direct3D)。JSR-184: Mobile 3D Graphics API (M3G) 讓 J2ME 程式也能輕鬆實現 3D 功能。
| 模式 | 特點 |
|---|---|
| 立即模式 | 開發者手動渲染每幀,速度較快,程式碼繁瑣 |
| 保留模式 | 設定關鍵幀,動畫由 M3G 自動插值,程式簡單,速度較慢 |
可混合使用兩種模式。
程式中手建模型極繁瑣。M3G 提供 Loader 類別,從單一 .m3g 檔案讀入完整 3D 場景。.m3g 可由 3D Studio Max 等工具產出。
Graphics3D:3D 渲染畫面介面 (Singleton)World:完整 3D 場景,包含:
Camera:觀察者視角Light:光源Background:背景3D 物件以點、線、面 (Mesh) 描述,儲存與運算 (旋轉、投影) 皆為矩陣運算。
Sun WTK 2.2 內建 M3G 實作,安裝後即可在模擬器運行 3D MIDP 程式。參考範例 demo3d。
來源:Sony Ericsson 範例代碼,完整代碼可下載於 WTK 2.2 中運行。
Graphics3D g3d = Graphics3D.getInstance(); // Singleton,任意處可取得
後續內容包含場景建立、模型載入、渲染迴圈等,請參考完整範例代碼。
Loader 載入 .m3g 避免手寫幾何資料