首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

J2ME 3D 技術導覽:Mobile 3D Graphics API (JSR-184) 核心解析

     編輯:J2ME

背景

3D 技術在桌面遊戲早已普及 (OpenGL, Direct3D)。JSR-184: Mobile 3D Graphics API (M3G) 讓 J2ME 程式也能輕鬆實現 3D 功能。

M3G 關鍵特性

  • 輕量級:完整實作 < 150 KB
  • 選用包:基於 OpenGL 精簡,約 30 個類別
  • 運行需求:CLDC 1.1 / CLDC 2.0 (需浮點運算),相容 MIDP 1.0 / 2.0
  • 支援機型:Nokia 6230/3650/7650/6600、Siemens S65/CX65/S55/M55、Sony Ericsson K700i/P800/P900、Motorola 220/T720 等
  • 底層引擎:多採 SuperScape Swerve 引擎 (專為行動裝置優化)

兩種渲染模式

模式特點
立即模式開發者手動渲染每幀,速度較快,程式碼繁瑣
保留模式設定關鍵幀,動畫由 M3G 自動插值,程式簡單,速度較慢

可混合使用兩種模式。

3D 模型載入

程式中手建模型極繁瑣。M3G 提供 Loader 類別,從單一 .m3g 檔案讀入完整 3D 場景。.m3g 可由 3D Studio Max 等工具產出。

核心類別架構

  • Graphics3D:3D 渲染畫面介面 (Singleton)
  • World:完整 3D 場景,包含:
    • Camera:觀察者視角
    • Light:光源
    • Background:背景
    • 樹狀結構的 3D 物件群

3D 物件以點、線、面 (Mesh) 描述,儲存與運算 (旋轉、投影) 皆為矩陣運算。

開發環境

Sun WTK 2.2 內建 M3G 實作,安裝後即可在模擬器運行 3D MIDP 程式。參考範例 demo3d。

最簡 M3G 程式範例 (旋轉金字塔)

來源:Sony Ericsson 範例代碼,完整代碼可下載於 WTK 2.2 中運行。

步驟 1:取得 Graphics3D 實例

Graphics3D g3d = Graphics3D.getInstance(); // Singleton,任意處可取得

後續內容包含場景建立、模型載入、渲染迴圈等,請參考完整範例代碼。

學習建議

  • 熟悉 OpenGL 者極易上手 M3G
  • 善用 Loader 載入 .m3g 避免手寫幾何資料
  • WTK 2.2 模擬器為最佳開發測試平台
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved