首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多重采样/抗锯齿应用于特定的绘制调用,而不是全部

将多重采样/抗锯齿应用于特定的绘制调用,而不是全部
EN

Stack Overflow用户
提问于 2017-11-25 05:17:57
回答 2查看 180关注 0票数 1

我知道我可以通过设置示例4上的样本计数来应用多次采样,并设置光栅化器阶段在其上应用多次采样。这很有效,但现在我只想将多重采样应用于我正在进行的绘图调用的一个子集。我该怎么做呢?

在psuedo代码中,这是我想要实现的:

代码语言:javascript
复制
> build vertices data for a simple triangle
> map and copy vertices data to device
> send draw call to device which does NOT apply anti aliasing

> build vertices data for a simple rectangle
> map and copy vertices data to device
> send draw call to device which applies multisampling/antialiasing

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2017-11-26 03:56:10

在Direct3D 11中有一种称为D3D11_RASTERIZER_DESC.MultisampleEnable的光栅化器状态。然而,值得注意的是,这仅在Direct3D功能级别9.x和10.0上禁用多采样渲染。在Direct3D Feature Level 10.1或更高版本的硬件上,它不会做任何事情来改变点或三角形的渲染方式,以渲染采样计数大于1的目标。相反,它会设置与AntialiasedLineEnable相结合的线条算法,您可以在MSDN上了解到这一点。

换句话说,如果你要渲染到MSAA表面,在大多数情况下,它将是多采样的。问题是:你真正想要实现的是什么?

票数 1
EN

Stack Overflow用户

发布于 2017-12-21 17:45:00

正如Chuck Walbourn解释的那样,不可能将单采样和多采样渲染混合到同一渲染目标。但是,可以将多采样内容渲染为纹理,并将其解析为单采样内容。可以将该纹理渲染到单采样渲染目标上。

将多采样资源解析为单采样资源的方法是ID3D11DeviceContext::ResolveSubresource()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47480124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档