在Windows应用商店中启用抗锯齿
Enabling antialiasing in Windows Store Apps
我有一个适用于Windows应用商店的D3D11应用程序,它目前不使用抗锯齿,我想启用它。
据MSDN报道,MSAA在Windows应用商店应用程序中被禁用:
DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
使用此标志可以指定翻转表示模型,并指定DXGI在调用IDXGISwapChain1::Present1后保留后台缓冲区的内容。此标志不能用于多重采样
注意Windows应用商店应用程序必须使用DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL。
因为这个限制只适用于后台缓冲区,所以听起来最好的解决方法是创建一个新的屏幕外渲染目标,在该目标上启用MSAA,将所有内容都渲染到它,然后在Present之前,将屏幕外目标闪电传送到后台缓冲区(可能使用ResolveSubresource)。
我已经开始实现这个,但我不知道如何修改交换链和渲染目标视图。有人能告诉我这里的正确操作顺序吗?
您的建议是正确的。使用CreateTexture2D和CreateRenderTargetView创建MSAA渲染目标。D3D11_TEXTURE2D_DESC的DXGI_SAMPLE_DESC字段包含MSAA设置。然后将场景渲染到此渲染目标,并将ResolveSubresource渲染到后缓冲区中。交换链不需要更改。
相关文章:
- 编译时未启用intel oneApi CUDA支持
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux for Windows上编译C++代码时出错
- 在Windows上用C++裁剪HBITMAP
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 在 Linux 和 Windows 中启用诅咒
- 在 windows.h 的WM_PAINT中启用输出缓冲
- 通过代码在 Windows 操作系统上启用和禁用 DST
- 如何在Windows应用程序中启用通用控件
- PHP在Windows上的配置:启用libxml2
- 如何在QT windows应用程序中启用SSL
- 在Windows应用商店中启用抗锯齿
- 如何使用C++在 Windows XP 中重新启用已禁用的网络连接
- 如何在启用Windows Aero主题时在标题栏上绘制位图图标
- 为什么启用 Windows 基本筛选引擎服务后,我的应用程序无法接收 UDP 数据包?
- 如何以编程方式启用/禁用Windows功能
- 如何在Windows上使用MinGW安装/启用OpenMP for Eclipse ?
- 如何在windows上编译启用ssl的gSoap