??xml version="1.0" encoding="utf-8" standalone="yes"?>精品av中文字幕在线毛片,天堂在线中文字幕,四季av在线一区二区三区http://www.aygfsteel.com/lusm/archive/2007/06/18/124906.htmlqL~@@~qL~@@~Mon, 18 Jun 2007 03:59:00 GMThttp://www.aygfsteel.com/lusm/archive/2007/06/18/124906.htmlhttp://www.aygfsteel.com/lusm/comments/124906.htmlhttp://www.aygfsteel.com/lusm/archive/2007/06/18/124906.html#Feedback0http://www.aygfsteel.com/lusm/comments/commentRss/124906.htmlhttp://www.aygfsteel.com/lusm/services/trackbacks/124906.html阅读全文

qL~@@~ 2007-06-18 11:59 发表评论
]]>
[转]Java 3D~程实践——网l上的三l动画[学习(fn)W记]http://www.aygfsteel.com/lusm/archive/2007/03/21/105337.htmlqL~@@~qL~@@~Wed, 21 Mar 2007 10:15:00 GMThttp://www.aygfsteel.com/lusm/archive/2007/03/21/105337.htmlhttp://www.aygfsteel.com/lusm/comments/105337.htmlhttp://www.aygfsteel.com/lusm/archive/2007/03/21/105337.html#Feedback0http://www.aygfsteel.com/lusm/comments/commentRss/105337.htmlhttp://www.aygfsteel.com/lusm/services/trackbacks/105337.html下个文章Q给大家介绍不用eclipse3.2{开发工L(fng)入门Ҏ(gu)  阅读全文

qL~@@~ 2007-03-21 18:15 发表评论
]]>
[转]VRML与JAVA相结合开?D交互式虚拟场?/title><link>http://www.aygfsteel.com/lusm/archive/2007/03/19/104729.html</link><dc:creator>qL~@@~</dc:creator><author>qL~@@~</author><pubDate>Mon, 19 Mar 2007 05:57:00 GMT</pubDate><guid>http://www.aygfsteel.com/lusm/archive/2007/03/19/104729.html</guid><wfw:comment>http://www.aygfsteel.com/lusm/comments/104729.html</wfw:comment><comments>http://www.aygfsteel.com/lusm/archive/2007/03/19/104729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/lusm/comments/commentRss/104729.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/lusm/services/trackbacks/104729.html</trackback:ping><description><![CDATA[ <table cellspacing="5" cellpadding="5" width="680" border="0"> <tbody> <tr> <td id="article_info" align="middle" bgcolor="#f8f8f8" height="30">cdQ整理 | 来自Q?a target="_blank">86VR</a> | 作者:(x)h?吴伟斌 | 旉Q?005-3-31 |  点击Q? <script language="javascript" src="/scripts/hits.asp?id=5392"></script> 814</td> </tr> </tbody> </table> <table cellspacing="5" cellpadding="0" width="680" border="0"> <tbody> <tr> <td align="middle" background="/images/dot_h.gif" height="1"> <img height="1" src="http://www.86vr.com/images/spacer.gif" width="1" /> </td> </tr> </tbody> </table> <table cellspacing="5" cellpadding="0" width="680" border="0"> <tbody> <tr> <td id="article_content"> <p> <strong>摘要: </strong> 借助EAI 和Script 节点Java 和VRML 相结?构徏了一个三l交互式的虚拟场?该场景克服了VRML 在交互方面的不,实现了用户与虚拟场景之间以及(qing)用户与用户之间的交互和共享的功能,q在此基?构徏了一个用于计机囑Ş学教学的虚拟场景框架,为VRML 在远E教育方面的普及(qing)和应用做了有益的探烦. </p> <p> <strong>关键? </strong>VRML ;Java ; EAI ; 交互?虚拟场景</p> <p>  虚拟现实技术是当前国际上的一个研I热?是一U逼真的通过各种传感讑֤模拟人在自然环境中的视、听、动作等行ؓ(f)的h机界面技?实现操作者和环境直接q行自然交互. 该技术已l广泛地应用于军事、航I天、医学、徏{设计、机械、地理、化学等众多的领? </p> <br /> <p>  虚拟现实建模语言(Virtual Reality Modeling Language , ~写为VRML) 是一个开攄、可扩充的三l场景描q语a,它描qC如何在World Wide Web 上创建和览三维虚拟场景. VRML 的构思始?994 q春瑞士日内瓦的万维|?WWW) 的第一届国际会(x)议上. 1994 q?0 月在芝加哥召开的第二次万维|会(x)议上公布了VRML1. 0 的规范草?其主要的功能是生成静态的3D 场景,以及(qing)与HTML 链接的一些功能和措施. 1998 q? 月VRML 被I(xin)SO 正式批准为国际标? ISO/ IEC/ 4772 -1 :1997 , 通常被称为VRML1997 , 也被UCؓ(f)VRML2. 0) . VRML2. 0 版将VRML 的静态世界改变ؓ(f)动态世?q强化了互动功能,此外q增加了动画、传感器、事件、行为和脚本{功? VRML 提供?4 个功能强大的节点用于描述三维场景中的对象,能够利用层次性文件关pdZQ意大的动态境界[ 1 ]. 目前,国内在虚拟现实技术的应用斚w除了个别领域?基本上还处于探烦研究阶段,主要是应用VRML 的三l徏模功能创Z个用户可以浏览的静态三l场?而在创徏动态场景和多用户场景方面的研究相对较少. 本文旨在讨论使用VRML 与J ava 创徏多用户交互式场景的结合方?q给Zpȝ框架和实现方? </p> <p> <strong>1  VRML 与J ava 相结?/strong> <br /> <br />  VRML 本nq不具备与外部交互的能力,也不能完成普通程序设计中的{折、分支、@环等基本特征,它必d其他语言相结合才能构造出具备交互能力的三l场? Z在虚拟场景中增加和删除对?或者定义动d对象的行为功?一U方法是通过扩展Script 节点,利用J avaScript 和J ava ~程提高VRML 的应用扩展能力[ 2 ] ;另一U方法是使用EA I. Script 节点本n没有M动作,其动作是由J ava 脚本来实现的. 然?应用Script 节点只能按照预定的规则改变场? 无法满复杂的交互操? 此时, q里采用EA I(External Authoring Interface : 外部E序接口) 实现外部应用E序与VRML 场景的实时交? EA I 是Silicon Graphics 公司的Chris Marrin 1997 q? 月提出的一U应用程序接?是基于VRML 和J ava 应?J ava Applet) 之间事g传递而提出的规约,实现J ava Applet 与VRML 虚拟场景之间的相互通信. EA I Ҏ(gu)依赖于一个与VRML 览器相联系的Java 包的支持. 该J ava 包由vrml. external. 3 、vrml. external. field. 3 、vrml. external. node. 3 以及(qing)vrml. external. exception. 3 四个部分l成开发者用该接口创徏的小应用E序可以动态地创徏、修改和删除VRML 场景中的节点[ 3 ]. EA I 允许用以下四U方式访问VRML 场景: (1) 讉KBSI(Browser Script Interface : 览器脚本接? 接口函数; (2) 发送一个事件给VRML 场景中节点的事g入口(event In) ; (3) d从VRML 场景中节点的事g出口(eventOut) 发出的最新? (4) 当事件从节点的事件出?eventOut) 发出?获得一个通知,Ȁzcallback Ҏ(gu). </p> <p>  VRML 场景中Q何用DEF 定义的节炚w可以被J ava Applet E序所讉K,获得一个节点的句柄?该节点的event In 和eventOut p被引? Java Applet 可以监视VRML 场景中节点的改变q能够在节点间传递事件来直接改变节点的属? 单的?一斚wEA I 能把VRML模型的变化传递给J ava Applet , 另一斚wJava Applet 可以通过EA I lVRML 传送各U各L(fng)事g和信?控制和改变虚拟场? <br /><br />  功能而言,使用Script 节点和用EA I 实现对VRML 场景的控制ƈ没有什么不? 一般来说对于单一的VRML 事g实现交互?qing)运功能可选择内部的Script , 若需集成多种媒体,q进行复杂网l控?则用EA I 更适宜. <br /><br /><strong>2  交互式虚拟场景的实现</strong><br /><br /><strong>2. 1  pȝ框架</strong><br /><br />  一个基于VRML 和J ava 相结合的多用户交互的虚拟场景的框架见?. <br />  ?  h多用户交互、共享功能的虚拟场景框架<br /><br />  ? 场景Z客户? 服务器模? 服务器端包含HTTP 服务器、场景服务器和数据库服务? HTTP 服务器负责HTML 文g、VRML 文gJava 文g以及(qing)其他相关资源(如声韟뀁图片、媄像等) 的存储与传输;场景服务器负责用L(fng)登记和管?响应用户的请?每一个在U用L(fng)h、控制信息加以合?再以q播的方式传送给所有用? 数据库存储所有变动对象的当前信息,如当一个新用户登陆以后,他的化n信息写入该数据?q过数据库读取其它对象的信息,通过EA I 这些信息在客户端的虚拟世界中表现出? <br /><br /><strong>2. 2  场景交互性的实现<br /></strong><br />  虚拟场景的交互性体现在两个斚w:一是用户与虚拟场景内的虚拟对象的交?用户可以改变场景中虚拟对象的状态、位|?甚至可以对对象进行添加和删除操作;二是与其他用户之间的交互,用户可以控制替n的行?如走、跑、{w、D手等) 和表?可以看到其他用户替n状态的变化,可以与其他用L(fng)互交换意?开展讨论、演C?从事虚拟试验,合作开发等. 用户与虚拟场景的交互是通过在Java Applet 中用EA I 来实现的,其处理流E如? <br /><br />(1)Java 通过与VRML q行怺通信,可以获取虚拟I间的数据信?如替w的状态和动作,实体的状态等,形成一个通信数据? <br />(2) 各个节点通过TCP/ IP 协议下的Java Socket 机制q行怺q接,该通信数据包通过|络实时传输l各个节? <br />(3) 当某个节Ҏ(gu)受到相应的数据包?Java 可以对VRML I间q行动态控?改变3D替n的位|和方向以及(qing)实体的状?保持用户间信息的一致和事g的同?下面是控制物体^Uȝ部分关键Java 代码:</p> <div id="wmqeeuq" class="code" align="center"> <pre>browser = Browser. getBrowser() ;<br />// 获得VRML 览?场景) 的句?br />Node trigon1 = browser. getNode(”TRIGON1?br />);<br />// 获得场景中TRIGON1 对象的句?br />translation = (EventinSFNode)trigon1. get Event In(?;<br />set-translation?br />// 讑֮场景中该节点准备接受事g的域<br />translation. setValue(xyz)<br />// 讑֮改变场景中该节点的事件^Uȝ?/pre> </div> <p> <strong>2. 3  多用户共享的实现</strong> <br /> <br />  EAI 能够克服VRML 览器在用户接口斚w的限?通过其它的应用程序控制虚拟场?使用戯够创建符合自己意囄虚拟场景,q而实现多个用户同时共? 用户在虚拟场景中的交互是以替w的形式实现? q里,替n的定义符合H -Anim1. 0的h物徏模标准[5 ]. H-Anim1. 0 标准提供了一个具有良好的兼容性、灵zL、简单性的人物模型的构造方?按此标准建立的多用户׃n虚拟场景h很好的通用性和开攑֞. 外部E序,如Java Applet , 通常是以事g的Ş式读取和控制VRML 场景. 当场景中的一个替w发生变化或者替w的行ؓ(f)使得虚拟场景发生了改?该信息将以事件的形式传送给服务? 服务器再接受到的信息以IP q播的Ş式传送给虚拟场景内所有的用户,同时此信息存放在数据库? 当用h受到服务器发出的信息? 可以在客L(fng)直接通过EAI 更改VRML 场景或替w的状?q样在每个用L(fng)览器上可以看到其他人的行ؓ(f)和替w的变化以及(qing)由此产生的场景的变化,从而实C虚拟场景的多用户׃n. <br /><br />  另外,当多个用戯行合作开发或者共同进行虚拟实验时,应避免多个用户对同一物体q行修改而生的冲突. q里引入锁定机制避免该冲H?卛_一个用户对某一物体q行控制??x)向服务器发送一个锁定请?此时该物体不能被其它用户控制. 只有当用户对物体解锁?其它用户才能提出另一个锁定要? 控制物体节点?ExposedField) touchsensorenabled 域可以实现对物体的锁定与解锁. <br /><br /><strong>3  应用实例<br /></strong><br />  Z以上的分?q里建立了一个多用户交互式用于计机囑Ş学远E教学的虚拟场景. 用户以替w的形式q入虚拟场景,当用L(fng)M同的变换控制按钮?在弹出的H口中显C变换的算?同时虚拟场景中图形也发生相应的变?用户则可以自由地在场景中漫游,从不同角度观察图形的变换,从而达到对不同变换法加深理解的目? 目前该系l正处于开发阶D?以上所q图<br /><br />2  用于计算机图形学教学的虚拟场景的功能逐步得以实现. ? 是虚拟场景的屏幕拯,仅供参? 本文Java 与VRML 相结?借助EAI 和VRML 的Script 节点构徏了一个三l交互式虚拟场景,提出了系l的整体框架,l出了用户与虚拟场景以及(qing)用户之间的交互方?q指出多用户׃n时应注意的冲H问? 在此基础?开发了一个具有初步功能的用于计算机图形学q程教学的虚拟场?该场景有助于加深学习(fn)者对计算机图形学各种法的理? <br /><br /><strong>参考文?</strong><br />[ 1 ]  VRML97 Specification[ EB/OL ] . ISO/IEC 14772-2 :2002[ S] . http ://www. web3d. org. <br />[ 2 ]  赛博U技工作? VRML 与Java ~程技术[ M ] . 北京:人民邮电(sh)出版C?2002. <br />[ 3 ]  H. M. Deitel , P. J . Deitel. 奚红?史晓?c晖译.JAVA E序设计高教程[ M ] . 北京:?sh)子工业出版C?1999. <br />Developing 3D Interactive Virtual Scene with the Combination of VRML and JAVA L EI Chao2quan1 ,WU Wei2bin2 (1. Professional Education Department , Ningde Teachers College , Ningde Fujian 352100 , China ; <br />2. Network Info Center ,Quanzhou Normal University ,Fujian 362000 ,China) <br />Abstract :By using EAI and Script node , Java and VRML are combined in this paper to develop a 3D interactive virtual scene. This scene overcomes the shortage of VRML in the aspect of interactivity and features the interaction between the user and the virtual scene. And a multi2user shared environment is also realized in this scene. Based on this structure , a frame of the virtual scene is constructed for the computer graphics education.<br />Key words :VRML ;Java ; EA I ;interactivity ;virtual scene. 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.</p> </td> </tr> </tbody> </table> <img src ="http://www.aygfsteel.com/lusm/aggbug/104729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/lusm/" target="_blank">qL~@@~</a> 2007-03-19 13:57 <a href="http://www.aygfsteel.com/lusm/archive/2007/03/19/104729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用J2ME开发移?D游戏?D囑ŞAPIhttp://www.aygfsteel.com/lusm/archive/2007/02/25/100634.htmlqL~@@~qL~@@~Sun, 25 Feb 2007 12:42:00 GMThttp://www.aygfsteel.com/lusm/archive/2007/02/25/100634.htmlhttp://www.aygfsteel.com/lusm/comments/100634.htmlhttp://www.aygfsteel.com/lusm/archive/2007/02/25/100634.html#Feedback0http://www.aygfsteel.com/lusm/comments/commentRss/100634.htmlhttp://www.aygfsteel.com/lusm/services/trackbacks/100634.html

q?br />
现在Q移动游戏和Ud应用开发极为热门!游戏中需要有旉漂亮的图形,其设计标准比以前M时候都要高。本文将告诉你怎样用酷毙的Ud3D囑ŞAPI为J2ME讑֤开?D囑Ş游戏?br />
如果你在用MIDP1.0q行用户接口~程Q那么有两条路你可以选择Q用高U的UIcL者一切由你自׃头开始。作为游戏开发者,W一U选择往往是不可能的;q是Z么游戏开发者不得不Z们的高游戏开发自q3D引擎的原因。无疑,q需要付出大量的旉和努力,而缺乏QҎ(gu)支持的CLDC 1.0QMIDP 1.0正是Z其上Q对问题的解x有多大帮助?br />
在MIDP 2.0中,有一个可选的叫移?D囑ŞAPI的Y件包Q或者叫JSR 184。该API是第一个基于Java标准开发的Ud讑֤上的三维囑Ş软g包。该API既有高又有低囑Ş特征Q其中,高特征UCؓ(f)保留模式Q低U特征称为立x式。保留模式得开发者有可能使用场景囑Şq场景中的物体Ҏ(gu)虚拟相机和灯光的位置q行自n的着艌Ӏ立x式能够允许应用程序直接进行物体绘制。如果需要,可以在同一个应用程序中使用q两U模式。本文着重介l立x式?br />
3D API

让我们以列D和解释该3D API中的cM为开始。除了这些API外,JSR 184q包含了一个场景图形结构和一个相应的文g格式以有效地理和配|?D内容。该文g格式定义了一Um3g文gQ这U文件典型地?D建模文g应用E序中{换而来?/p>

?Q?D APIc?/p>
c?描述
AnimationController控制动画序?/td>
AnimationTrack把一个KeyframeSequence同一个AnimationController相关联?/td>
Appearance 定义一个网|MeshQ或一个Spring3D的着色属性的一l对象?/td>
Background定义视图是怎样被清除的?/td>
Camera 一个场景图点Q它定义了场景中观察者的位置以及(qing)?D?D的投影?/td>
CompositingMode一个Appearancec,它封装了每一个像素的合成属性?/td>
Fog 一个Appearancec,它包含了雑֌的有兛_性?/td>
Graphics3D 一个单独的3D囑Ş上下文。所有的着色操作都是在该类中的render()Ҏ(gu)中实现的?/td>
Group 一个场景图形结点,它存储了一个无序的l点集作为它的子l点?/td>
Image2D一个二l图像,可用于纹理,背景Q或者精灵图像?/td>
IndexBuffer该类定义了如何把点q接h以Ş成一个几何体?/td>
KeyframeSequence装了一pd的具有时间戳和矢量值的关键帧的动画数据?/td>
Light描述了不同类型的光源?/td>
Loader下蝲和反串行化图形结点及(qing)l点成分Q以?qing)整个场景图形?/td>
Material装了进行光学计的材质属性?
Mesh描述了一?D对象Q它是用多边形面定义的?/td>
MorphingMesh描述了一个顶点-变Ş的多边Ş|眼?/td>
Node所有场景图形结点的抽象基类。其五个具体子类是:(x)CameraQMeshQSprite3DQLight和Group?/td>
Object3D所有可以成?D世界中组成部分的对象的抽象基cR?/td>
PolygonMode装了多边ŞU别属性?/td>
RayIntersection存储了对于分割的Mesh或Sprite3D的引用,以及(qing)有关分割点的信息?/td>
SkinnedMesh 描述了一个框架动ȝ多边形网眹{?/td>
Sprite3D ?D位置来描qC?D囑փ?/td>
Texture2D 装了一?DU理囑փ和一个属性集合,q些属性指囑փ是如何应用到子网g的?/td>
Transform 一个通用?x4的QҎ(gu)矩阵Q用来描qC个变换?/td>
Transformable Node和Texture2Dcȝ抽象基类?/td>
TriangleStripArray定义了一个三角Ş带数l?/td>
VertexArray 一个整型矢量数l,描述了顶点位|,法线Q颜色或者纹理坐标?/td>
VertexBuffer 存储对于VertexArrays的引用,它包含了一个顶炚w的位|,颜色Q法U,以及(qing)U理坐标?/td>
World一个特别的Groupl点Q它作ؓ(f)场景图最层的容器?/td>

举例

我们开发一个简单的旋{一个多边Ş?D应用E序Z。该多边形是一个立方体Q它的纹理是一张旧汽R相片。列?展示了例Emidlet的主要类-应用E序的中心类。该c负责创建应用程序ƈ建立赯行MyCanvas的计时器?/p>

列表1. MIDletMainc?/p>
import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

import java.util.*;

public class MIDletMain extends MIDlet {

 static MIDletMain midlet;

 MyCanvas d = new MyCanvas();

 Timer iTimer = new Timer();

 public MIDletMain() {

this.midlet = this;

 }

 public void startApp() {

Display.getDisplay(this).setCurrent(d);

iTimer.schedule( new MyTimerTask(), 0, 40 );

 }

 public void pauseApp() {}

 public void destroyApp(boolean unconditional) {}

 public static void quitApp() {

midlet.destroyApp(true);

midlet.notifyDestroyed();

midlet = null;

 }

 

 class MyTimerTask extends TimerTask {

public void run() {

 if( d != null ) {

d.repaint();

 }

}

 }

}


列表2昄了MyCanvasc,该类包含了应用程序的所有图形逻辑。init()Ҏ(gu)负责l点的创建,U理文g的装载ƈ讄U理Q外观和背景也被一赯|。paint()Ҏ(gu)负责着色ƈ旋{立方体。图1展示了正在一个模拟器中运行的实际E序?

列表2. MyCanvasc?br />

import javax.microedition.lcdui.*;

import javax.microedition.m3g.*;

public class MyCanvas extends Canvas {

 private Graphics3D graphics3d;

 private Camera camera;

 private Light light;

 private float angle = 0.0f;

 private Transform transform = new Transform();

 private Background background = new Background();

 private VertexBuffer vbuffer;

 private IndexBuffer indexbuffer;

 private Appearance appearance;

 private Material material = new Material();

 private Image image;

 public MyCanvas() {

// 创徏Displayable对象以探听命令事?br />
setCommandListener(new CommandListener() {

 public void commandAction(Command c, Displayable d) {

if (c.getCommandType() == Command.EXIT) {

 MIDletMain.quitApp();}}

 });

 try { init();}

 catch(Exception e) { e.printStackTrace();}

 }

 /**

 * lg的初始化

 */

 private void init() throws Exception {

addCommand(new Command("Exit", Command.EXIT, 1));

graphics3d = Graphics3D.getInstance();

camera = new Camera();

camera.setPerspective( 60.0f,(float)getWidth()/ (float)getHeight(), 1.0f, 1000.0f );

light = new Light();

light.setColor(0xffffff);

light.setIntensity(1.25f);

short[] vert = {

 5, 5, 5, -5, 5, 5, 5,-5, 5, -5,-5, 5,

 -5, 5,-5, 5, 5,-5, -5,-5,-5, 5,-5,-5,

 -5, 5, 5, -5, 5,-5, -5,-5, 5, -5,-5,-5,

 5, 5,-5, 5, 5, 5, 5,-5,-5, 5,-5, 5,

 5, 5,-5, -5, 5,-5, 5, 5, 5, -5, 5, 5,

 5,-5, 5, -5,-5, 5, 5,-5,-5, -5,-5,-5 };

VertexArray vertArray = new VertexArray(vert.length / 3, 3, 2);

vertArray.set(0, vert.length/3, vert);

//立方体的各个l点法线

byte[] norm = {

 0, 0, 127, 0, 0, 127, 0, 0, 127, 0, 0, 127,

 0, 0,-127, 0, 0,-127, 0, 0,-127, 0, 0,-127,

 -127, 0, 0, -127, 0, 0, -127, 0, 0, -127, 0, 0,

 127, 0, 0, 127, 0, 0, 127, 0, 0, 127, 0, 0,

 0, 127, 0, 0, 127, 0, 0, 127, 0, 0, 127, 0,

 0,-127, 0, 0,-127, 0, 0,-127, 0, 0,-127, 0 };

VertexArray normArray = new VertexArray(norm.length / 3, 3, 1);

normArray.set(0, norm.length/3, norm);

//各个l点的纹理坐?br />
short[] tex = {

 1, 0, 0, 0, 1, 1, 0, 1,

 1, 0, 0, 0, 1, 1, 0, 1,

 1, 0, 0, 0, 1, 1, 0, 1,

 1, 0, 0, 0, 1, 1, 0, 1,

 1, 0, 0, 0, 1, 1, 0, 1,

 1, 0, 0, 0, 1, 1, 0, 1 };

VertexArray texArray = new VertexArray(tex.length / 2, 2, 2);

texArray.set(0, tex.length/2, tex);

int[] stripLen = { 4, 4, 4, 4, 4, 4 };

// 对象的VertexBuffer

VertexBuffer vb = vbuffer = new VertexBuffer();

vb.setPositions(vertArray, 1.0f, null);

vb.setNormals(normArray);

vb.setTexCoords(0, texArray, 1.0f, null);

indexbuffer = new TriangleStripArray( 0, stripLen );

//U理囑փ

image = Image.createImage( "/pic1.png" );

Image2D image2D = new Image2D( Image2D.RGB, image );

Texture2D texture = new Texture2D( image2D );

texture.setFiltering(Texture2D.FILTER_NEAREST,

Texture2D.FILTER_NEAREST);

texture.setWrapping(Texture2D.WRAP_CLAMP,Texture2D.WRAP_CLAMP);

texture.setBlending(Texture2D.FUNC_MODULATE);

// 创徏外观QAppearanceQ对?br />
appearance = new Appearance();

appearance.setTexture(0, texture);

appearance.setMaterial(material);

material.setColor(Material.DIFFUSE, 0xFFFFFFFF);

material.setColor(Material.SPECULAR, 0xFFFFFFFF);

material.setShininess(100.0f);

background.setColor(0xffffcc);

 }

 protected void paint(Graphics g) {

graphics3d.bindTarget(g, true,

 Graphics3D.DITHER |

 Graphics3D.TRUE_COLOR);

 graphics3d.clear(background);

//讄照相?br />
Transform transform = new Transform();

transform.postTranslate(0.0f, 0.0f, 30.0f);

graphics3d.setCamera(camera, transform);

//讄灯光

graphics3d.resetLights();

graphics3d.addLight(light, transform);

//讄旋{

angle += 1.0f;

transform.setIdentity();

transform.postRotate(angle, 1.0f, 1.0f, 1.0f);

graphics3d.render(vbuffer, indexbuffer, appearance, transform);

graphics3d.releaseTarget();

 }

}





? 正在一个模拟器中运行的应用E序



JSR 184对于可以q行MIDP 2.0的设备来_(d)是一个节省时间和I间的可选的软g开发包。它允许开发者用两U图形方?保留模式和立x?来?D囑Ş。本文集中讲qC立即模式Qƈl出一个例子程序来说明怎样使用3D API?br />



qL~@@~ 2007-02-25 20:42 发表评论
]]>
վ֩ģ壺 | ̨| ۽| | گ| ţ| | | | | | | | ƽ˳| | Ϫ| | | Ͱ| ͡| ۽| | | | ɽ| | | ƽ½| ī| ʮ| ͤ| ƽ| ¤| Ժ| | | | | ֦| | |