私はDirectX11の初心者であり、 『Beginning DirectX 11』の第2章に続いて、次のコードを使用してバッファーを作成するためのコードがあります。
DXGI_SWAP_CHAIN_DESC swapChainDesc;
ZeroMemory( &swapChainDesc, sizeof( swapChainDesc ) );
swapChainDesc.BufferCount = 1;
swapChainDesc.BufferDesc.Width = width;
swapChainDesc.BufferDesc.Height = height;
swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
swapChainDesc.BufferDesc.RefreshRate.Numerator = 60;
swapChainDesc.BufferDesc.RefreshRate.Denominator = 1;
swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
swapChainDesc.OutputWindow = hwnd;
swapChainDesc.Windowed = true;
swapChainDesc.SampleDesc.Count = 1;
swapChainDesc.SampleDesc.Quality = 0;
私の質問は、スワップチェーンの説明では、BufferDesc(DXGI_MODE_DESC構造体)が1つしかないため、明らかに1つのバッファーだけのスペースがあるということです。では、BufferCountが2以上に設定されている場合、2番目のバッファーはどのように登録されますか?別のDXGI_SWAP_CHAIN_DESCを使用していますか?いくつかのサンプルコードを投稿してください。
また、BufferCountのタイプはUNITです。これは、3つ以上のバッファーを追加できることを意味します。ダブルバッファリング手法では2つのバッファが使用されますが、1つのバッファは描画に使用され、もう1つのバッファはシーンに表示するために使用され、バッファが交換されます。3つ以上のバッファーの用途と利点は何ですか?