【问题标题】:Rendering transparent windows渲染透明窗口
【发布时间】:2012-09-05 20:58:44
【问题描述】:

我知道渲染透明窗口的唯一方法是调用 UpdateLayeredWindows,以防我需要渲染 D3D9 渲染目标的结果。
我必须通过调用 GetRenderTargetData 和 然后我必须通过调用 UpdateLayeredWindow 在屏幕上呈现它。

这里http://msdn.microsoft.com/en-us/library/windows/desktop/ee890072(v=vs.85).aspx 有关于如何通过“D3D9Ex Flip Mode Present to DWM”优化渲染的描述。

渲染顶级透明窗口是否有某种类似的优化?

谢谢

【问题讨论】:

  • 如果您不需要逐像素 alpha,请尝试使用 SetLayeredWindowAttributes(指定 alpha 或颜色键),然后正常绘制/更新。我不知道这与 UpdateLayeredWindow 相比性能如何,但也许值得一试。
  • 我想我需要每像素的 alpha。我觉得应该有类似于 WDM 优化的东西
  • This article 似乎做你想做的事。不过我没试过。
  • 这是完全正确的解决方案。非常感谢。

标签: windows winapi directx directx-9


【解决方案1】:

我在cmets中找到了答案:

这个article 似乎在做你想做的事。 感谢用户arx

【讨论】:

    猜你喜欢
    • 2014-08-07
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 2018-01-27
    • 2016-08-25
    • 2013-07-05
    • 2013-02-21
    相关资源
    最近更新 更多