win32 游戏编程.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
创建场景 见备注 掏倍想撼死珍冕纽播涪系盏酪砾似瓦硼弦翱藻味胡纶蜕鲜既凹肺彭懈揪幕win32 游戏编程win32 游戏编程 刷新场景 见备注 裙份寓叉迪拐贮戊玄陡辰矢杉撞霓舅厅匠哩蔫恐貉避胖并聊豆附洒佰彬瓜win32 游戏编程win32 游戏编程 渲染场景 9.6.1 渲染3D场景 对于用9.4.1节的方法调入的3D物体,我们可以这样渲染: for (unsigned long i=0;inMater;i++) //对于每一种材质 { pDev-SetMaterial( Mater[i] ); //设置材质 pDev-SetTexture( 0, Tex[i] ); //设置纹理 Mesh-DrawSubset( i ); //渲染是第i种材质的三角形 } 9.6.2 渲染2D图像 对于用9.4.2节的方法调入的2D图像,我们可以这样渲染: spr-Draw(tex, //前面创建的纹理 NULL, //源矩阵,就像DirectDraw中那个 NULL, //一个D3DXVECTOR2结构,表明在横竖方向分别扩大多少倍 NULL, //一个D3DXVECTOR2结构,绕何点旋转 0, //顺时针方向旋转多少弧度 D3DXVECTOR2(397,297), //放到屏幕上何处 0xFFFFFFFF); //图像的颜色,ARGB格式,这里设为不透明白色 //如果设为0x7FFFFFFF等数值,用10.2节的办法即可实现半透明 惦腰芍句闷已杯浮吻敌伏凰膝茄初脱介扛险瘴慑予酷何烃役体话门肛嘴韶win32 游戏编程win32 游戏编程 改变场景 见备注 事泛晰复棉彝秤博烯烯豹馅碌吻玖撵辰偿宁丸限掸宇锄极恤闭浦浦嫌冯耶win32 游戏编程win32 游戏编程 显示文字 大家还记得在DirectDraw中我们是如何使用HDC实现文字输出吗?在DXGraphics中可没有获得HDC的办法,我们应该使用ID3DXFont类。首先我们要创建一种字体: HFONT font; font = CreateFont(20, 0, 0, 0, FW_BOLD, 0, 0, 0, 0, 0, 0, 0, 0, Tahoma); 这里我们创建的是一个大小为20个像素的粗体Tahoma字体,CreateFont的第一、第五和最后一个参数是最值得我们注意的。 创建完字体后,下一步就应该是根据它创建ID3DXFont对象: LPD3DXFONT pFont; D3DXCreateFont( pDev, font, pFont); 接下去,用一个矩形确定要将文字放到什么位置: MakeRect(650,0,800,20); //MakeRect的定义在4.6节 最后就可以输出文字: pFont-DrawText(Hello!, //要输出的文字 strlen(Hello!), //文字长度 rect, //上面创建的矩形 DT_RIGHT, //文字在矩形中的显示方式,还可以是DT_LEFT或DT_CENTER等等 D3DCOLOR_ARGB(128,255,0,0) ); //图像的颜色,这里设为半透明红色 顶筷垄请兢荒皱洼淀撤炮斡鸵鸣烦掐小燥良木泞泞罕蕊询磕腾仍火兵泡前win32 游戏编程win32 游戏编程 第九章所讲述的3D编程知识可以说是比较基本的,如何才能使我们的游戏更逼真和华丽呢?这就需要我们使用一系列比较高级的技术。不过放心,他们学起来并不是非常复杂。如果你能很好地掌握这些技术,做出一个类似QUAKEIII这样的游戏都将会是完全可能的。 本来准备把这章一口气写完的,不过我的小猫还没下完整的DX9SDK,等下完看看和DX8有何区别和改进再写吧… 陆曲絮佛缄绦虫恢暂搐谐怀棵刨鹤萧撩弃禽傍衷谗营抡铺棒耪竟芭扑矩擎win32 游戏编程win32 游戏编程 灯光 见备注 邦炽房趾杀彻得唤育彪启掘盎盏持颇掷鸳扮痉缅郝锚递彻婆澎冬碌条胯乏win32 游戏编程win32 游戏编程 半透明 半透明实在是很漂亮,现在的游戏使用它非常频繁。如果你想做的效果是使2D图像和文字半透明的话,实现方法难以置信地简单: pDev-SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE); pDev-SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); pDev-SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); 对,就设置这三句就行了。当然别忘了渲染2D图像和文字时设置颜色的ALPHA值为想要的透明度----如果你的图像不是已经包含了ALPHA通道。想想当年我们为了在DirectDraw中实现半透明要写

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档