gpt4 book ai didi

c++ - 我怎么: convert surface to a texture or create a texture with certain multisampling parameters or render a surface with an alpha layer

转载 作者:行者123 更新时间:2023-11-30 04:35:18 28 4
gpt4 key购买 nike

我正在创建两个渲染目标,两者都必须共享后台缓冲区的深度缓冲区,因此我将它们设置为具有相同的多重采样参数很重要,但是 pDevice->CreateTexture(..) 没有给出任何参数设置多重采样类型。所以我使用 pDevice->CreateRenderTarget(...) 创建了两个渲染目标表面,给出与深度缓冲区相同的值,现在深度缓冲区与我的渲染目标一起工作,但是我无法在屏幕上正确渲染它们,因为alpha 混合不适用于 ->StretchRect(有人告诉我,但我尝试时它不起作用)。

所以这个问题的标题基本上就是我的问题,我如何: - 将表面转换为纹理或 - 创建具有某些多重采样参数的纹理或 - 使用 alpha 层正确渲染表面

最佳答案

StretchRect 的文档具体解释了如何做到这一点:

Using StretchRect to downsample a Multisample Rendertarget

You can use StretchRect to copy from one rendertarget to another. If the source rendertarget is multisampled, this results in downsampling the source rendertarget. For instance you could:

  • Create a multisampled rendertarget.
  • Create a second rendertarget of the same size, that is not multisampled.
  • Copy (using StretchRect the multisample rendertarget to the second rendertarget.

Note that use of the extra surface involved in using StretchRect to downsample a Multisample Rendertarget will result in a performance hit.

关于c++ - 我怎么: convert surface to a texture or create a texture with certain multisampling parameters or render a surface with an alpha layer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412637/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com