ImageVerifierCode 换一换
格式:PPT , 页数:25 ,大小:639KB ,
资源ID:10300682      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10300682.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(Direct3D基础.ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Direct3D基础.ppt

1、单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,概述:,像素、分辨率、顶点,在,D3D,中的颜色,页翻动和交换链,D3D,内存池,重点:,难点:,颜色的表示方法,D3D,中的颜色,第,005,课,Direct3D,基础,1,2.1 Direct3D,中的基础概念,2.1.1,像素,(Pixel),和分辨率,(Resolution),像素是指,:,图像在屏幕上显示的最小单元,即屏幕上的一个亮点。它也指在,frame buffer,(颜色缓冲区)中的最小图形单元。,分辨率是指,:,显示设备所能显示的最大像素个数。例如:一个分辨率为,1024768,的显示屏能够显示水平方向,1024,

2、个像素,垂直方向,768,个像素,满屏显示,1024768,786432,个像素。,第,005,课,Direct3D,基础,2,2.1 Direct3D,中的基础概念,2.1.2,顶点,(Vertices),第,005,课,Direct3D,基础,顶点就是,3D,空间中的一个点,它定义了多边形的相交点。,Direct3D,中能够渲染的所有物体都是由图元构成,而图元都是由顶点构成。,3,在,D3D,中,像素和顶点的颜色使用,RGB,表示。也就是说,我们规定,Red,,,Green,,,Blue,这三种颜色的量,以此确定最终的颜色。通过使用这种方法,我们可以表示成千上万种颜色。,2.1.3 D3D

3、中的颜色,2.1 Direct3D,中的基础概念,第,005,课,Direct3D,基础,我们使用两种不同类型的结构来保存,RGB,数据:,D3DCOLOR,D3DCOLORVALUE,4,D3DCOLOR,是一个,32,位的,DWORD,类型的数。,32,位被分为,4,个部分,每部分保存一种颜色组件的大小。,Red,,,Green,,,Blue,各,8,位,另一个字节被分配给,Alpha,通道。,每种颜色组件占一个字节的空间,所以颜色值为,0,255,。,0,表示没有该种颜色,,255,表示该颜色组件的最高强度。,2.1.3.1,D3DCOLOR,2.1 Direct3D,中的基础概念,2

4、1.3 D3D,中的颜色,第,005,课,Direct3D,基础,5,为,D3DCOLOR,数据类型指定数值比较麻烦,所以我们可以使用一个宏,D3DCOLOR_ARGB,,为,D3DCOLOR,进行赋值。,D3DCOLOR_ARGB,需要,3,个颜色参数和,1,个,alpha,参数。例如:,D3DCOLOR brightRed=D3DCOLOR_ARGB(255,255,0,0);,D3DCOLOR someColor=D3DCOLOR_ARGB(255,144,87,201);,1.D3DCOLOR_ARGB,宏,2.1.3.1,D3DCOLOR,2.1 Direct3D,中的基础概念,2

5、1.3 D3D,中的颜色,第,005,课,Direct3D,基础,6,我们还可以使用另外一个宏,D3DCOLOR_XRGB,,对,D3DCOLOR,进行设置。,D3DCOLOR_XRGB,会将,alpha,值设为,0 xff,(,255,):,#define D3DCOLOR_XRGB(r,g,b)D3DCOLOR_ARGB(0 xff,r,g,b),2.,D3DCOLOR_XRGB,宏,2.1.3.1,D3DCOLOR,2.1 Direct3D,中的基础概念,2.1.3 D3D,中的颜色,第,005,课,Direct3D,基础,7,D3DCOLORVALUE,结构通过浮点值表示每一种颜色组

6、件的强度。取值范围为从,0,到,1,。,0,表示没有该颜色组件,,1,表示该颜色组件的最高强度。,typedef struct _D3DCOLORVALUE,float r;/Red,组件,范围,0.0-1.0,float g;/Green,组件,范围,0.0-1.0,float b;/Blue,组件,范围,0.0-1.0,float a;/alpha,组件,范围,0.0-1.0,D3DCOLORVALUE;,2.1.3.2,D3DCOLORVALUE,2.1 Direct3D,中的基础概念,2.1.3 D3D,中的颜色,第,005,课,Direct3D,基础,8,D3DXCOLOR,结构与,

7、D3DCOLORVALUE,包含同样的数据成员,但是提供了有用的构造函数与重载运算符,使颜色操纵更加方便。由于两种结构数据成员相同,我们可以在两种结构间相互转化。,typedef struct D3DXCOLOR/,具体定义请参见,DirectX SDK,#ifdef _cplusplus,public:,FLOAT r,g,b,a;,D3DXCOLOR,*LPD3DXCOLOR;,2.1.3.2,D3DCOLORVALUE,2.1 Direct3D,中的基础概念,2.1.3 D3D,中的颜色,1.D3DXCOLOR,结构,第,005,课,Direct3D,基础,9,由于,D3DCOLORVA

8、LUE,和,D3DXCOLOR,都有四个浮点数组件,所以可以将颜色作为一种,4,维向量,(r,g,b,a),。颜色向量可以和普通向量一样进行相加减,进行缩放。点乘和叉乘对颜色向量没有意义,但是组件之间乘法是有意义的。所以在,D3DCOLOR,类中有“颜色,颜色”相乘的操作符。,2.,颜色向量,2.1.3.2,D3DCOLORVALUE,2.1 Direct3D,中的基础概念,2.1.3 D3D,中的颜色,第,005,课,Direct3D,基础,10,图元的颜色取决于构成图元的三角形的颜色。因此我们必须在我们的顶点数据结构中加入颜色成员。,注意不能将,D3DCOLORVALUE,类型的数据作为顶

9、点颜色成员,因为,D3D,要求用,32,位的值来描述顶点颜色。,2.1.3.3,顶点颜色,2.1 Direct3D,中的基础概念,2.1.3 D3D,中的颜色,第,005,课,Direct3D,基础,11,D3D,维护着几个表面,通常由两个或三个表面组成一个交换链(,swap chain,),由,IDirect3DSwapChain9,接口表示。我们很少需要手动的操纵它,因为,D3D,将自动进行管理。所以我们只需了解它的用途。,交换链和页翻动(,page flipping,)技术被用于提供帧之间的平滑动画。,2.1 Direct3D,中的基础概念,2.1.4,页翻动与交换链,第,005,课,D

10、irect3D,基础,12,第,005,课,Direct3D,基础,2.1 Direct3D,中的基础概念,2.1.4,页翻动与交换链,2.1.4.1,颜色缓冲区,颜色缓冲区,(FrameBuffer),是位于系统内存或显存里的一块内存块,对应于将要显示的一块二维显示区域(即表面)。,前台缓冲区,(Front Buffer),和后台缓冲区,(Back Buffer),都是颜色缓冲区的一种,前台缓冲区主要用于屏幕刷新,也是我们可见的部分。后台缓冲区主要用于图形的绘制,绘制完成后,两者进行页翻动的工作,把处理完的图形显示出来。,13,第,005,课,Direct3D,基础,2.1 Direct3D

11、中的基础概念,2.1.4,页翻动与交换链,2.1.4.2,前台缓冲区和后台缓冲区,前台缓冲区:,前台缓冲区保存着当前监视器所展示的图形。监视器不会立即显示在前台缓冲区中的图像。而是每隔一段时间,比如,1/60,秒刷新一次,该时间取决于屏幕刷新率。,14,第,005,课,Direct3D,基础,2.1 Direct3D,中的基础概念,2.1.4,页翻动与交换链,2.1.4.2,前台缓冲区和后台缓冲区,后台缓冲区:,应用程序的帧刷新率一般来说要快于屏幕刷新率。然而在监视器完成当前帧的描绘之前,我们不能用下一帧的动画来更新前台缓冲区的内容。但是与此同时,我们也不希望等待监视器描绘完成当前前台缓冲区

12、的内容之后,再来更新其中的内容。因此我们需要引入一个离屏表面(即后台缓冲区)。,15,图中交换链由两个表面组成:前台缓冲区和后台缓冲区,2.1 Direct3D,中的基础概念,2.1.4,页翻动与交换链,2.1.4.2,前台缓冲区和后台缓冲区,第,005,课,Direct3D,基础,16,我们将在一个离屏表面(即后台缓冲区)中进行描绘,当监视器描绘完毕前台缓冲区中的内容后,我们将该前台缓存区换到交换链的后面,而交换链中后面的后台缓冲区变为前台缓冲区。这个过程称为,Present,(显示)。,2.1 Direct3D,中的基础概念,2.1.4,页翻动与交换链,2.1.4.3,显示,(Presen

13、t),第,005,课,Direct3D,基础,17,在右图中进行了两次,present,。当使用有两个表面的交换链时,可以看到,present,的次数就是交换表面的次数。,1.,渲染后台缓冲区;,2.,显示后台缓冲区;,3.,重新循环到,1,。,2.1 Direct3D,中的基础概念,2.1.4,页翻动与交换链,2.1.4.4,渲染过程,第,005,课,Direct3D,基础,18,2.1.5,内存池,(Memory Pools),2.1 Direct3D,中的基础概念,一些,D3D,资源能够放在不同种类的内存池中。内存池由,D3DPOOL,枚举变量进行定义。可用的内存池主要有:,D3DPOO

14、L_DEFAULT,D3DPOOL_MANAGED,D3DPOOL_SYSTEMMEM,D3DPOOL_SCRATCH,第,005,课,Direct3D,基础,19,D3DPOOL_DEFAULT:,这是,D3D,的默认内存池。依据资源类型和用途的不同,它可以事显存、,AGP,内存、或系统内存。注意在默认内存池中的资源必须在,IDirect3DDevice9:Reset,调用前销毁(或释放)掉,而在,Reset,调用之后重新初始化。,D3DPOOL_MANAGED:,在其中的资源由,D3D,进行管理。它们根据设备的需要,被移入到,AGP,内存或显存中。另外,在系统内存中将维护一份资源的拷贝。当

15、应用程序访问或修改资源时,它们将使用系统拷贝。随后,,D3D,根据需要自动更新显存中的内容。,2.1.5,内存池,(Memory Pools),2.1 Direct3D,中的基础概念,第,005,课,Direct3D,基础,20,D3DPOOL_SYSTEMMEM:,资源被放入系统内存中。,D3DPOOL_SCRATCH:,资源被放入到系统内存中。与,D3DPOOL_SYSTEMMEM,之处在于这些资源不接受图像设备的限制。其结果就是,设备不能访问在该池中的资源。,但是这些资源可以与其它内存池进行交换。,2.1.5,内存池,(Memory Pools),2.1 Direct3D,中的基础概念,

16、第,005,课,Direct3D,基础,21,小结:,像素、分辨率、顶点,D3D,中的颜色,页翻动和交换链,内存池,第,005,课,Direct3D,基础,22,小测验:,1,、,D3D,中只需要一块颜色缓冲区。(),2,、顶点颜色必须为,32,位的数,所以不能够使用,D3DCOLORVALUE,类型的数据。(),3,、颜色向量的点乘、叉乘没有意义。(),4,、应用程序进行渲染的缓冲区是:(),A.,前台缓冲区,B.,后台缓冲区,5,、由,D3D,设备进行资源管理的,D3D,的内存池是:,(),D3DPOOL_DEFAULT,B.D3DPOOL_MANAGED,C.D3DPOOL_SYSTEM

17、MEM,D.D3DPOOL_SCRATCH,第,005,课,Direct3D,基础,23,小测验:(答案),1,、,D3D,中只需要一块颜色缓冲区。(,F,),2,、顶点颜色必须为,32,位的数,所以不能够使用,D3DCOLORVALUE,类型的数据。(,T,),3,、颜色向量的点乘、叉乘没有意义。(,T,),4,、应用程序进行渲染的缓冲区是:(,B,),A.,前台缓冲区,B.,后台缓冲区,5,、由,D3D,设备进行资源管理的,D3D,的内存池是:,(,B,),D3DPOOL_DEFAULT,B.D3DPOOL_MANAGED,C.D3DPOOL_SYSTEMMEM,D.D3DPOOL_SCRATCH,第,005,课,Direct3D,基础,24,课后作业:,1,、根据,D3DCOLOR,的定义,自己实现一个,D3DCOLOR_ARGB,宏和,D3DCOLOR_XRGB,宏。,2,、结合有关动画和二维游戏的制作,理解页翻动和交换链的意义。,第,005,课,Direct3D,基础,25,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服