程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME3D技巧簡介

J2ME3D技巧簡介

編輯:J2ME
3D技巧對我們來說已經非常熟悉了,最常用的3D API有OpenGL和Microsoft的Direct 3D,在桌面游戲中早已廣泛利用。對於J2ME程序而言,Mobile 3D Graphics API(JSR184)的呈現,使得為手機利用程序添加3D功效成為可能。
  
  JSR184尺度(M3G:Mobile 3D Graphics)為Java移動利用程序定義了一個簡潔的3D API接口,J2ME程序可以非常方便地應用M3G來實現3D利用比如游戲等等。M3G被設計為非常輕量級的,全部API的完整實現不超過150kb。
  
  M3G是J2ME的一個可選包,以OpenGL為基礎的精簡版,一共有30個類,運行在CLDC1.1/CLDC2.0上(必需支撐浮點運算),可以在MIDP1.0和MIDP2.0中應用。目前,支撐M3G的手機有諾基亞 6230/3650/7650/6600、SIEmens S65/CX65/S55/M55、Sony-EriCSSon K700i/P800/P900、Moto 220/T720等。M3G只是一個Java接口,具體的底層3D引擎一般由C代碼實現,比如許多手機廠商的3D引擎采用的便是SuperScape公司的Swerve引擎,這是一個專門為移動設備設計的高性能3D引擎。
  
  類似於Microsoft的D3D,M3G支撐兩種3D模式:立即模式(immediate mode)和保留模式(retained mode)。在立即模式下,開發者必需手動渲染每一幀,從而獲得較快的速度,但代碼較繁瑣;在保留模式下,開發者只需設置好要害幀,剩下的動畫由M3G完成,代碼較簡略,但速度較慢。M3G也答應混雜應用這兩種模式。
  
  3D模型可以在程序中創立,但是非常繁瑣。因此,M3G供給一個Loader類,答應直接從一個單一的.m3g文件中讀進全部3D場景。m3g文件可以通過3D Studio Max之類的軟件創立。
  
  假如熟悉OpenGL,那麼M3G是非常輕易懂得的。在M3G中,Graphics3D是3D渲染的屏幕接口,World代表全部3D場景,包含Camera(用於設置觀察者視角)、Light(燈光)、Background(背景)和樹型結構的任意數目標3D物體。3D對象在盤算機中用點(Point, Pixel)、線(Line, Polyline, Spline)、面(Mesh)來描寫,具體存儲和運算(如旋轉、投影)都是矩陣運算和變換。
  
  SUN的WTK2.2已經內置了M3G的實現包,假如安裝了WTK2.2,就可以在模仿器上運行3D MIDP程序。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved