D3D9 使用多重采样渲染到纹理
我想使用多重采样渲染到纹理,然后使用纹理四边形将其渲染到后台缓冲区(通过像素着色器传递它)。没有多重采样一切都工作正常,但我只是不知道如何设置它以使用多重采样。
我尝试了 CreateDepthStencilSurface() 但我真的不知道如何处理该表面,或者这是否是我应该做的。
请帮忙。
PS - 我正在使用 DX9、Win32 和 C++
I want to render to a texture using multisampling, then render that to the back buffer using a textured quad (passing it through a pixel shader.) Everything works fine without multisampling but I just can't figure out how to set it up to use multisampling.
I tried CreateDepthStencilSurface() but I don't really know what to do with that surface, or if tat's even what I should be doing.
Please help.
PS - I'm using DX9, Win32 and C++
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能,无论如何不能直接。以下是常规解决方法:
You can't, not directly anyway. Here is the regular workaround:
-创建 RenderTarget 和 DepthStencilSurface - 它们必须具有相同的多重采样选项集(相同的 SampleDescription)
-将 DepthStencilSurface 设置为 DepthStencilView
-DepthStencilSurface 必须至少具有与 RenderTarget 一样高的分辨率
-最高 SampleDescription -设置迄今为止大多数卡的支持8 样品和质量 32
-To blit RenderTarget 在 DX9 上使用 StretchRect,在 DX10 和 DX11 上使用 ResolveSubresource
-Create a RenderTarget and DepthStencilSurface - these must have the same multisampling options set (same SampleDescription)
-Set the DepthStencilSurface as your DepthStencilView
-DepthStencilSurface must have at least as much resolution as the RenderTarget
-Highest SampleDescription-setting most card's support as of today is 8 Samples and Quality 32
-To blit the RenderTarget use StretchRect on DX9 and ResolveSubresource on DX10 an DX11