【学习笔记】DirectX应用程序如何初始化
时间:2014-07-22 23:13:54
收藏:0
阅读:520
一、使用Windows API创建一个窗口
二、创建一个Swap Chain(交换链)
这一步需要用到一个名为DXGI_SWAP_CHAIN_DESC的结构体,其详细定义如下:
typedef struct DXGI_SWAP_CHAIN_DESC { DXGI_MODE_DESC BufferDesc; DXGI_SAMPLE_DESC SampleDesc; DXGI_USAGE BufferUsage; UINT BufferCount; HWND OutputWindow; BOOL Windowed; DXGI_SWAP_EFFECT SwapEffect; UINT Flags; } DXGI_SWAP_CHAIN_DESC;
1. 第一个成员BufferDesc用来指定显示模式,其具体结构如下:
typedef struct DXGI_MODE_DESC { UINT Width; UINT Height; DXGI_RATIONAL RefreshRate; DXGI_FORMAT Format; DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; DXGI_MODE_SCALING Scaling; } DXGI_MODE_DESC, *LPDXGI_MODE_DESC;
它的数据成员分别指定了高度/pixel、宽度/pixel、刷新率/Hz、显示格式(色彩模式)、扫描方式、伸缩比例。
2. 第二个成员SampleDesc用来定义多重采样设置。其结构如下:
typedef struct DXGI_SAMPLE_DESC { UINT Count; UINT Quality; } DXGI_SAMPLE_DESC, *LPDXGI_SAMPLE_DESC;
它的数据成员分别指定了多重采样的采样半径/pixel、质量等级
3. 第三个成员,设置surface的使用方式,设置CPU对backbuffer的访问方式。这些backbuffer可以用作shader input或者render target output。详见DXGI_USAGE。
4. 第四个成员,设置swap chain中buffer的数量,包括front buffer。
5. 第五个成员,设置输出窗口。详见IDXGIFactory::MakeWindowAssociation。
6. 第六个成员,设置是窗口模式还是全屏模式。详见IDXGIFactory::CreateSwapChain。
7. 第七个成员,设置当present surface之后,对于presentation buffer的处理方式。
评论(0)