下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 三维编程实验一、d3d初始化

三维编程实验一、d3d初始化.doc

三维编程实验一、d3d初始化

hlphlp
2018-09-11 0人阅读 举报 0 0 暂无简介

简介:本文档为《三维编程实验一、d3d初始化doc》,可适用于IT/计算机领域

实验一、DD的初始化、实验目的、扩充Windows编程的一般框架使其可以适应DD编程、熟悉DD编程环境的设置、初始化DD、实验步骤、打开vsnet在“工具”“选项”里设置DD的包含文件和库文件的路径如下图所示、点击“文件”“新建”“项目”在“VirusalC”选项下选择“Win”然后选择“Win项目”、点击完成创建窗口程序。、在项目属性里单击“链接器”选择“输入”在附加倚赖项里输入“ddlib”如下图所示、在源文件代码最后输入以下代码:HRESULTInitDD(HWNDhWnd){第一步获取指向接口IDirectD的指针gpDD=DirectDCreate(DDSDKVERSION)SDKVersion:这是这个函数唯一的一个参数它指明了创建DirectD对象的版本。*函数返回值如果函数执行成功将返回一个指向DirectD接口的指针。如果函数执行失败则返回一个空指针()*if(gpDD==){returnEFAIL}*一个良好的程序编制风格包含了这么一条:任何时候都应该检查函数的返回值根据函数的返回值决定程序是否应该继续执行下去。**得到当前的显示模式typedefstructDDDISPLAYMODE{UINTWidthUINTHeightUINTRefreshRateDDFORMATFormat}DDDISPLAYMODEDDFORMAT是一个枚举类型定义了可能的点的格式。*DDDISPLAYMODEdddmif(FAILED(gpDD>GetAdapterDisplayMode(DDADAPTERDEFAULT,dddm))){returnEFAIL}*填充DDPRESENTPARAMETER结构在创建D设备时创建函数需要知道显示表面的相关参数和信息所以在创建设备之前必须设置Present参数。*DDPRESENTPARAMETERSddppZeroMemory(ddpp,sizeof(ddpp))ddppWindowed=TRUE窗口模式*推荐DDSWAPEFFECTDISCARD:后台缓存复制到前台缓存中,并清空后台缓存DDSWAPEFFECTFLIP:后台缓存复制到前台缓存中,保留后台缓存的内容,用于多于一个后台缓存的情况DDSWAPEFFECTCOPY:后台缓存复制到前台缓存中,保留后台缓存的内容,用于只有一个后台缓存的情况*ddppSwapEffect=DDSWAPEFFECTDISCARD*缓冲区的显示格式通常把它设置的和当前桌面的显示格式一致。*ddppBackBufferFormat=dddmFormatDDCAPScapsgpDD>GetDeviceCaps(DDADAPTERDEFAULT,主显示设备DDDEVTYPEHAL,硬件处理的方式caps返回填充后的DDCAPS结构包含主显示设备的能力)是否可以使用硬件顶点处理intvp=if(capsDevCapsDDDEVCAPSHWTRANSFORMANDLIGHT){是支持硬件顶点处理vp=DDCREATEHARDWAREVERTEXPROCESSING}else{不只能用软件顶点处理vp=DDCREATESOFTWAREVERTEXPROCESSING}创建一个设备if(FAILED(gpDD>CreateDevice(DDADAPTERDEFAULT,DDDEVTYPEHAL,hWnd,vp,ddpp,gpDDDevice))){returnEFAIL}returnSOK}voidRender(){if(gpDDDevice){*IDirectDDevice::Clear(DWORDcount,constDDRECT*pRect,DOWRDFlags,DDCOLORColor,floatz,DWordStencil)Count参数指定pRect指向的矩形数组中矩形的数量如果pRect为,则参数为参数pRect为指向矩形数组的指针,参数Flags指定要清除的缓冲区,它是DDCLEARTARGET,DDCLEARZBUFFER,DDCLEARSTENCIL的任意组合,分别为清除目标缓冲,深度缓冲与模版缓冲而color,z,stencil则为要清除的填充值IDirectDDevice::Present(constRECT*pSourceRect,constRECT*pDestRect,HWNDhDestWindowOverride,constRGNDATA*pDirtyRegion)pSourceRect为源矩形区域的指针(后备缓冲),pDestRect则为目标矩形区域的指针(前台缓冲)如果SwapEffect不是设为DDSWAPEFFECTCOPY的话,,,,参数都必须设为*清屏gpDDDevice>Clear(,,DDCLEARTARGET,DDCOLORXRGB(,,),f,)后备表面呈现出来gpDDDevice>Present(,,,)}}voidCleanUp(){if(gpDDDevice){gpDDDevice>Release()gpDDDevice=}if(gpDD){gpDD>Release()gpDD=}}、包含”ddh”头文件。、添加两个全局变量dd接口指针gpDd和设备指针gpDdDevice的定义。、在相应流程添加对以上三个函数的调用。、本实验结果请参照源码dDemo。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/5

三维编程实验一、d3d初始化

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利