VB6编程:DirectX 2D图形学习日志5:一图看懂创建DX
教程下载地址:https://download.youkuaiyun.com/download/gosub60/13696651
现在,我对源码中出现的一些变量,常量,继续做个简单总结:(原创内容,转载请注明出处,谢谢大家支持。)
下边对D3DPRESENT_PARAMETERS(设备显示属性结构体)做一个描述,以下是C++源码:
//D3DPRESENT_PARAMETERS(//设备显示属性结构体)
typedef struct _D3DPRESENT_PARAMETERS_ {
UINT BackBufferWidth,BackBufferHeight; //后绘图表面的像素宽高 参数1,参数2
D3DFORMAT BackBufferFormat; //后绘图表面的各种数据格式(如像素颜色格式)参数3
UINT BackBufferCount; //后绘图表面的数目 参数4
D3DMULTISAMPLE_TYPE MultiSampleType; //多重采样类型 参数5
DWORD MultiSampleQuality; //多重采样品质 参数6
D3DSWAPEFFECT SwapEffect; //前后绘图表面的交换方式 参数7
HWND hDeviceWindow; //所在的窗口句柄 参数8
BOOL Windowed; //true表示使用窗口;false表示使用全屏 参数9
BOOL EnableAutoDepthStencil; //使能自动深度蒙板 参数10
D3DFORMAT AutoDepthStencilFormat; //自动深度蒙版格式 参数11
DWORD Flags; //后绘图表面可否锁定等标志 参数12
UINT FullScreen_RefreshRateInHz; //屏幕刷新率(如果使用窗口,则必须设置为0) 参数13
UINT PresentationInterval; //前、后绘图表面的最大交换频率 参数14
} D3DPRESENT_PARAMETERS;
此结构体更多的描述可以参考D3DPRESENT_PARAMETERS结构(D3D9Types.h)-Win32应用| 微软文档
这里简单的介绍一下:
参数1:BackBufferWidth 后台缓冲区的宽 以像素为单位
参数2:BackBufferHeight 后台缓冲区的高 以像素为单位
① 以上两个参数 如果Windowed为FALSE(全屏显示时),这两者的值必需符合显卡所支持的分辨率,如1024768,800600,640*480等,可用 DisplayModeCollection EnumAdapterModes 获取显卡支持的分辨率。
②.在窗口模式下,可默认使用0,也可以指定其他大小。