- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Direct3D9_CreateDevice
Direct3D9 CreateDevice
搬砖工大叔
knieiu@163.com
2015年 2月 14日
1 Direct3D9程序必备
1.1 用到的Direct3D9结构描述
1.1.1 Direct3DCreate9
创建一个 IDirect3D9对象并且返回一个接口指针。
1 IDirect3D9 * Direct3DCreate9 (UINT SDKVersion ) ;
参数 列表
SDKVersion 这个参数的值应该是D3D_SDK_VERSION.
1.1.2 D3DPRESENT_PARAMETERS
描述D3D9展示方式的参数
1 typedef s t ruct D3DPRESENT_PARAMETERS {
2 UINT BackBufferWidth , BackBufferHeight ;
3 D3DFORMAT BackBufferFormat ;
4 UINT BackBufferCount ;
5 D3DMULTISAMPLE_TYPE MultiSampleType ;
6 DWORD MultiSampleQuality ;
7 D3DSWAPEFFECT SwapEffect ;
8 HWND hDeviceWindow ;
9 BOOL Windowed;
10 BOOL EnableAutoDepthStencil ;
11 D3DFORMAT AutoDepthStencilFormat ;
12 DWORD Flags ;
13 UINT FullScreen_RefreshRateInHz ;
14 UINT PresentationInterval ;
15 } D3DPRESENT_PARAMETERS, *LPD3DPRESENT_PARAMETERS;
成员 列表
BackBufferWidth,BackBufferHeight 新交换链的后台缓冲区的宽和高,以像素为单位。如果Windowed是
FALSE (全屏显示),这两个值必须等于 IDirect3D9::EnumAdapterModes找到的所有显示模式的某个
1
显示模式的宽和高。如果Windowed为 TRUE并且这两个值其中有一个为零,用 hDeviceWindow(或
者如果 hDeviceWindow为 NULL,采用当前的焦点窗口)指定的窗口的客户区域的宽和高来替代这
两个值。
BackBufferFormat 后台缓冲区的格式。关于这个格式的更多信息,请参考D3DFORMAT.这个值必须是由
IDirect3D9::CheckDeviceType验证有效的一个渲染目标格式。我们也可以用 IDirect3DDevice9::GetDisplayMode
来获取当前的格式。
事实上,当我们使用窗口模式 (非全屏模式) 显示时,可以把 BackBufferFormat 的值设置为
D3DFMT_UNKNOWN.这样处理,运行时就会使用当前显示模式的格式并且不需要再调用 IDi-
rect3DDevice9::GetDisplayMode.
当应用程序运行在窗口模式时,后台缓冲区模式不再需要跟显示模式的格式相匹配;因为现在硬
件可以处理色彩转换 (如果硬件支持色彩转换).可用的后台缓冲区格式是有限的,但是 D3D9运行
时允许任何有效的后台缓冲区格式能够被呈现到桌面格式。(有一个附加条件:D3D设备在桌面模
式下必须是可操作的;D3D设备通常不能操作每像素 8位的模式。)
全屏的应用程序不能做色彩转换。
BackBufferCount 这个值可以是 0到 D3DPRESENT_BACK_BUFFERS_MAX (或者当使用 Direct3D9Ex时
的D3DPRESENT_BACK_BUFFERS_MAX_EX)之间的任何整数值。值如果为 0,则会把它当作 1.如果
不能创建此值所指定的这么多个后台缓冲区,D3D9运行时就会在调用函数中出错,并且把这个值修
改为可以创建的后台缓冲区的数目。结果就是,应用程序可以用相同的D3DPRESENT_PARAMETERS
结构调用这个方法 (如 CreateDevice )两次并且期望它在第二次时能正常运行。
如果不能创建一个后台缓冲区,这个方法就会失败。BackBufferCount的值影响什么样的交换效果
集合可以被使用。具体来说,任何D3DSWAPEFFECT_COPY交换效果必须有一个后台缓冲区。
MultiSampleType 值为D3DMULTISAMPLE_TYPE枚举类型的成员。这个值必须为D3DMULTISAMPLE_NONE,
除非 SwapEffect已经被设置为D3DSWAPEFFECT_DISCARD .仅当交换效果的值为D3D
您可能关注的文档
- Creep rupture of viscoelastic fiber bundles.pdf
- CPI Company Profile(公司简介).pdf
- Creep behaviors and effect factors of single crystal nickel-base superalloys.pdf
- Creep life assessment of high chromium ferritic steels by recovery of martensitic lath structure.pdf
- Creep modeling for concrete-filled steel tubes.pdf
- Creep, recovery, and waves in a nonlinear fiber-reinforced viscoelastic solid.pdf
- Creep Suplement.ppt
- Creep behavior and rupture life of the simulated intercritical HAZ for 1.25Cr-0.5Mo steel under a mu.pdf
- Cressi Leonador 中文手册 - 潜客网整理.pdf
- Creme L.X - Intensive training 时光面霜.pdf
文档评论(0)