0
내 3D 장면을 실행할 때 첫 번째 프레임 만 렌더링 한 다음 검은 색 화면 사이를 뒤집어 많은 깜박임을 유발합니다. 나는 올바르게 설정되지 않은 스왑 체인이라고 생각하지만 실제로는 알지 못합니다.첫 번째 프레임 만 보여주는 DX11 스왑 체인. 그것과 검은 색 이미지 사이를 뒤집습니다
다음은이 코드를 설정하는 코드입니다. Microsoft 예제에서 복사 한 것입니다.
DXGI_SWAP_CHAIN_DESC1 sd = {0};
sd.Width = 0;
sd.Height = 0;
sd.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.Stereo = false;
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.BufferCount = 2;
sd.Scaling = DXGI_SCALING_NONE;
sd.SwapEffect = DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL;
sd.Flags = 0;
CoreWindow^ window = reinterpret_cast<CoreWindow^>(mSystem->GetIWindow());
hr = pIDXGIFactory->CreateSwapChainForCoreWindow(mD3DDevice, reinterpret_cast<IUnknown*>(window), &sd, NULL, &mSwapChain);
EA_ASSERT(SUCCEEDED(hr));
그리고 본 코드 :
DXGI_PRESENT_PARAMETERS presentParameters = {0};
HRESULT hr = mSwapChain->Present1(0, 0, &presentParameters);
꽤 straighforward 나에게 보인다, 그래서 작동하지 않는 이유는 정말하지 않습니다.
장면이 항상 실행 중입니다. 업데이트 기능은 매 프레임마다 실행됩니다.
또한 PIX에서 렌더링을 검사하면 모든 것이 정상입니다. 렌더링이되기를 기대합니다. 단지 화면에 나타나지 않습니다.
아이디어가 있으십니까? 감사!