国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

J2ME 3D技術簡介

2019-11-17 06:23:21
字體:
來源:轉載
供稿:網友

  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的手機有Nokia 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程序。可以參考WTK2.2的示例demo3d。
  
  下面是一個最簡單的M3G程序,來自Sony-Ericsson的示例代碼,它創建一個旋轉的金字塔,可以從 此處下載完整代碼并在WTK2.2中運行。
  
  首先,我們要獲得唯一的Graphics3D實例,用于渲染3D場景。Graphics3D是一個Singleton實現,可以在任何地方獲得:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰安市| 讷河市| 盐边县| 拉萨市| 凌云县| 尖扎县| 景洪市| 广水市| 巢湖市| 台南县| 祁门县| 汉源县| 运城市| 漳州市| 邹城市| 新和县| 黄浦区| 霍山县| 阜城县| 涞水县| 昌平区| 阿图什市| 定边县| 商南县| 新乡县| 嵊泗县| 馆陶县| 德格县| 沂南县| 阿坝| 龙海市| 罗定市| 阿拉善左旗| 内黄县| 崇左市| 石阡县| 昌邑市| 台北市| 渭南市| 年辖:市辖区| 乐都县|