D3DPRESENT_PARAMETERS

函数原型编辑

typedef struct _D3DPRESENT_PARAMETERS_
{ UINT BackBufferWidth, BackBufferHeight;
D3DFORMAT BackBufferFormat;
UINT BackBufferCount;
D3DMULTISAMPLE_TYPE MultiSampleType;
DWORD MultiSampleQuality;
D3DSWAPEFFECT SwapEffect;
HWND hDeviceWindow;
BOOL Windowed;
BOOL EnableAutoDepthStencil;
D3DFORMAT AutoDepthStencilFormat;
DWORD Flags;
UINT FullScreen_RefreshRateInHz;
UINT PresentationInterval;} D3DPRESENT_PARAMETERS, *LPD3DPRESENT_PARAMETERS;

参数编辑

参数介绍

BackBufferWidth
后台缓冲区的宽
BackBufferHeight
后台缓冲区的高
BackBufferFormat
后台缓冲区格式。有关格式的更多信息,。这个参数是一个D3DFORMAT枚举类型,它的值有很多种,例 如D3DFMT_R5G6B5、D3DFMT_X8R8G8B8为游戏后备缓冲常用格式,这说明后备缓冲的格式是每个像素16位,其实红色(R)占5位,绿色(G)占6位,蓝色(B)占5位,为什么绿色会多一位呢?据说是因为人的眼睛对绿色比较敏感。
BackBufferCount
该值可以是0和d3dpresent_back_buffers_max之间(或d3dpresent_back_buffers_max_ex当使用Direct3D 9Ex)。范围是从0到3,如果为0,那就当成1来处理。大多数情况我们只使用一个后备缓冲。使用多个后备缓冲可以使画面很流畅,但是却会造成输入设备响应过慢,还会消耗很多内存。如果后台缓冲区的数目不能被创建,运行时将失败的方法调用和填补这个值与后台缓冲区,可以创建的次数。因此,应用程序可以调用方法两次d3dpresent_parameters结构和期望它第二次工作。
如果一个后台缓冲区无法创建失败的方法。价值backbuffercount影响组交换作用是允许的。具体地说,任何d3dswapeffect_copy交换效果需要一个后台缓冲区。
MultiSampleType
d3dmultisample_type成员的枚举类型。该值必须d3dmultisample_none除非swapeffect已设置为d3dswapeffect_discard。方法只有交换效果d3dswapeffect_discard支持。
MultiSampleQuality
质量水平。有效的范围是0比所使用的函数返回的水平不一pqualitylevels之间checkdevicemultisampletype:。通过一个较大的值返回错误d3derr_invalidcall。配对值的渲染目标或深度模具图面和d3dmultisample_type必须匹配。
SwapEffect
d3dswapeffect成员的枚举类型。运行库将保证关于缓冲区交换行为所隐含的语义;因此,如果窗口是真实的,swapeffect设置为d3dswapeffect_flip,运行时将创建一个额外的后台缓冲区和复制无论在呈现时成为前台缓冲区。d3dswapeffect_copy要求backbuffercount被设置为1。
d3dswapeffect_discard将在调试运行通过填充噪声任何缓冲后提出强制执行。
hDeviceWindow
该装置的窗口确定位置和屏幕上的后台缓冲区大小。这是用Direct3D在后台缓冲区的内容复制到前台缓冲区中当前IDirect3DDevice9:。
  
Windowed
true:如果应用程序运行窗口模式;false:如果应用程序运行的全屏模式。
EnableAutoDepthStencil
如果该值为真,Direct3D会管理的应用深度缓冲区。该装置将创建一个深度模具缓冲区创建时。深度模具缓冲区将被自动设置为呈现目标的装置。当器件复位,深度模具缓冲区将被自动销毁和新尺寸的重建。
如果enableautodepthstencil是真的,那么autodepthstencilformat必须是一个有效的深度模具格式。
AutoDepthStencilFormat
d3dformat成员的枚举类型。该自动深度模具表面的格式,该装置将创建。这件enableautodepthstencil是真的忽略,除非。
Flags
其中的一个d3dpresentflag常数。
FullScreen_RefreshRateInHz
速率的显示适配器刷新屏幕。价值取决于模式中,应用程序在运行:
PresentationInterval
在其中最大速率交换链的后台缓冲区可到了前台缓冲区。一个详细的解释模式和间隔的支持,看到d3dpresent。

参考资料

Windows DirectX Graphics Documentation
Direct3D 9 graphics
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值