日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
全面認(rèn)識(shí)J2ME3D技術(shù)

本文和大家重點(diǎn)學(xué)習(xí)一下J2ME 3D技術(shù),3D技術(shù)對(duì)我們來(lái)說(shuō)已經(jīng)非常熟悉了,最常用的3DAPI有OpenGL和Microsoft的Direct3D,在桌面游戲中早已廣泛應(yīng)用。

創(chuàng)新互聯(lián)長(zhǎng)期為1000多家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為盱眙企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、網(wǎng)站制作,盱眙網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

J2ME 3D技術(shù)簡(jiǎn)介

3D技術(shù)對(duì)我們來(lái)說(shuō)已經(jīng)非常熟悉了,最常用的3DAPI有OpenGL和Microsoft的Direct3D,在桌面游戲中早已廣泛應(yīng)用。對(duì)于J2ME程序而言,Mobile3DGraphicsAPI(JSR184)的出現(xiàn),使得為手機(jī)應(yīng)用程序添加3D功能成為可能。

◆JSR184標(biāo)準(zhǔn)(M3G:Mobile3DGraphics)為Java移動(dòng)應(yīng)用程序定義了一個(gè)簡(jiǎn)潔的3DAPI接口,J2ME程序可以非常方便地使用M3G來(lái)實(shí)現(xiàn)3D應(yīng)用比如游戲等等。M3G被設(shè)計(jì)為非常輕量級(jí)的,整個(gè)API的完整實(shí)現(xiàn)不超過(guò)150kb。

M3G是J2ME的一個(gè)可選包,以O(shè)penGL為基礎(chǔ)的精簡(jiǎn)版,一共有30個(gè)類(lèi),運(yùn)行在CLDC1.1/CLDC2.0上(必須支持浮點(diǎn)運(yùn)算),可以在MIDP1.0和MIDP2.0中使用。目前,支持M3G的手機(jī)有Nokia6230/3650/7650/6600、SiemensS65/CX65/S55/M55、Sony-EricssonK700i/P800/P900、Moto220/T720等。M3G只是一個(gè)Java接口,具體的底層3D引擎一般由C代碼實(shí)現(xiàn),比如許多手機(jī)廠商的3D引擎采用的便是SuperScape公司的Swerve引擎,這是一個(gè)專(zhuān)門(mén)為移動(dòng)設(shè)備設(shè)計(jì)的高性能3D引擎。

類(lèi)似于Microsoft的D3D,M3G支持兩種3D模式:立即模式(immediatemode)和保留模式(retainedmode)。在立即模式下,開(kāi)發(fā)者必須手動(dòng)渲染每一幀,從而獲得較快的速度,但代碼較繁瑣;在保留模式下,開(kāi)發(fā)者只需設(shè)置好關(guān)鍵幀,剩下的動(dòng)畫(huà)由M3G完成,代碼較簡(jiǎn)單,但速度較慢。M3G也允許混合使用這兩種模式。

◆3D模型可以在程序中創(chuàng)建,但是非常繁瑣。因此,M3G提供一個(gè)Loader類(lèi),允許直接從一個(gè)單一的.m3g文件中讀入全部3D場(chǎng)景。m3g文件可以通過(guò)3DStudioMax之類(lèi)的軟件創(chuàng)建。

如果熟悉OpenGL,那么M3G是非常容易理解的。在M3G中,Graphics3D是3D渲染的屏幕接口,World代表整個(gè)3D場(chǎng)景,包括Camera(用于設(shè)置觀察者視角)、Light(燈光)、Background(背景)和樹(shù)型結(jié)構(gòu)的任意數(shù)量的3D物體。3D對(duì)象在計(jì)算機(jī)中用點(diǎn)(Point,Pixel)、線(Line,Polyline,Spline)、面(Mesh)來(lái)描述,具體存儲(chǔ)和運(yùn)算(如旋轉(zhuǎn)、投影)都是矩陣運(yùn)算和變換。

SUN的WTK2.2已經(jīng)內(nèi)置了M3G的實(shí)現(xiàn)包,如果安裝了WTK2.2,就可以在模擬器上運(yùn)行3DMIDP程序??梢詤⒖糤TK2.2的示例demo3d。

◆下面是一個(gè)最簡(jiǎn)單的M3G程序,來(lái)自Sony-Ericsson的示例代碼,它創(chuàng)建一個(gè)旋轉(zhuǎn)的金字塔,可以從此處下載完整代碼并在WTK2.2中運(yùn)行。

首先,我們要獲得唯一的Graphics3D實(shí)例,用于渲染3D場(chǎng)景。Graphics3D是一個(gè)Singleton實(shí)現(xiàn),可以在任何地方獲得:

 
 
 
  1. g3d=Graphics3D.getInstance();  
  2.  

然后,在Canvas中渲染:

 
 
 
  1. publicclassMyCanvasextendsCanvas  
  2. {  
  3. publicvoidpaint(Graphicsg){  
  4. try{  
  5. g3d.bindTarget(g);  
  6. ...updatethescene...  
  7. ...renderthescene...  
  8. }finally{  
  9. g3d.releaseTarget();  
  10. }  
  11. }  
  12.  

 接下來(lái)創(chuàng)建一個(gè)World并設(shè)置Camera:

 
 
 
  1. world=newWorld();  
  2. camera=newCamera();  
  3. world.addChild(camera);  
  4. //Thewidthandheightofthecanvas.  
  5. floatw=getWidth();  
  6. floath=getHeight();  
  7. //Constructsaperspectiveprojectionmatri
  8. xandsetsthatasthecurrentprojectionmatrix.  
  9. camera.setPerspective(60.0f,w/h,0.1f,50f);  
  10. world.setActiveCamera(camera);  
  11.  

 接著,在createPyramid()方法中創(chuàng)建一個(gè)Mesh,代表金字塔,并添加到World中:

 
 
 
  1. privateMeshpyramidMesh;//thepyramidinthescene  
  2.  
  3. pyramidMesh=createPyramid();//createourpyramid.  
  4. pyramidMesh.setTranslation(0.0f,0.0f,-3.0f);
  5. //movethepyramid3unitsintothescreen.  
  6. world.addChild(pyramidMesh);//addthepyramidtotheworld  
  7.  

 ***,在一個(gè)線程中讓金字塔繞Y軸旋轉(zhuǎn)起來(lái): 

 
 
 
  1. publicvoidrun(){  
  2. Graphicsg=getGraphics();  
  3. while(true){  
  4. //rotatethepyramid1degreearoundtheY-axis.  
  5. pyramidMesh.postRotate(3.0f,0.0f,1.0f,0.0f);  
  6. draw3D(g);  
  7. flushGraphics();  
  8. }  

【編輯推薦】

  1. J2ME平臺(tái)中Cookie技術(shù)的應(yīng)用
  2. J2ME Snake腳本引擎使用手冊(cè)
  3. 解析Javascript對(duì)select下拉列表操作
  4. 技術(shù)分享 如何識(shí)別控制DHTML和JS中的頁(yè)面元素
  5. 深入學(xué)習(xí)JavaScript中Function對(duì)象語(yǔ)法 

文章題目:全面認(rèn)識(shí)J2ME3D技術(shù)
新聞來(lái)源:http://www.dlmjj.cn/article/dpdhdgg.html