桌面端 3D 早已普及(OpenGL、Direct3D),而 J2ME 領域隨著 JSR 184 (M3G: Mobile 3D Graphics) 標準發布,手機應用也能引入 3D 能力。M3G 專為資源受限設備設計,完整實現不超過 150 KB。
| 模式 | 特點 | 適用場景 |
|---|---|---|
| 立即模式 (Immediate Mode) |
開發者手動渲染每幀,控制細粒度,速度較快,代碼繁瑣 | 高性能游戲、特效渲染 |
| 保留模式 (Retained Mode) |
設置關鍵幀/動畫參數,引擎自動插值渲染,代碼簡潔,速度稍慢 | 場景漫遊、UI 動畫、原型開發 |
M3G 允許混合使用兩種模式,靈活平衡性能與開發效率。
Graphics3D:3D 渲染上下文(類比 Canvas 的 Graphics)。World:整個 3D 場景容器,包含:
Camera:觀察者視角、投影矩陣。Light:燈光源(環境光、方向光、點光源、聚光燈)。Background:背景(純色、圖片、天空盒)。Group、Mesh 等)。Loader:從 .m3g 文件加載完整場景(模型、動畫、材質、燈光),文件可由 3ds Max、Blender 等工具導出。3D 物體由頂點(Point)、線(Line/Polyline/Spline)、面(Mesh)組成;存儲與變換(旋轉、投影、縮放)本質均為矩陣運算。熟悉 OpenGL 的開發者可無縫遷移至 M3G。
M3G 為 J2ME 引入了標準化、輕量級的 3D 能力,採用保留模式可快速構建場景,立即模式可榨乾硬件性能。結合 .m3g 文件流程,美術與程序分工協作更高效。建議從 WTK 2.2 模擬器的 3D 示例入手,逐步掌握場景圖構建、動畫控制、模型加載全流程。