如何在没有在Directx 11中设置视口的情况下裁剪信箱

时间:2017-08-22 10:56:50

标签: c++ direct3d11

我的应用程序除了屏幕原始宽高比外,还有固定的宽高比(2.39:1信箱)。我尝试在全屏中实现此固定大小,而不创建更大的渲染目标集,并在其上应用视口裁剪;就像拥有一个较小的缓冲区,并将其blitting到窗口的中心。原因是,效果管道使用多个渲染目标,它们被设置为渲染区域大小,如果我确实设置了视口,我不得不乱用uvs / coordiantes等等,并且会看起来很丑或者是故障。

1 个答案:

答案 0 :(得分:0)

在Windows 10中使用CreateSwapChainForCoreWindowCreateSwapChainForComposition时,您可以使用系统自动执行此操作的DXGI_SCALING_ASPECT_RATIO_STRETCH

否则,您必须渲染到您自己的渲染目标纹理,然后使用所需的信箱位置对交换链进行最后的四边形绘制。