gpt4 book ai didi

c++ - 使用 Awesomium 在 DirectX 窗口上渲染(半透明和圆形元素)

转载 作者:太空狗 更新时间:2023-10-29 23:15:23 26 4
gpt4 key购买 nike

我想知道是否可以使用 Awesomium 在 DirectX 11 游戏上渲染 GUI(我不使用 .NET,它是 C++/DirectX 11 游戏)?

它将涉及:

  1. 使用 DirectX 11 在窗口上渲染场景(就像我现在所做的那样)。
  2. 使用 Awesomium 从 HTML/CSS 渲染 GUI 先前渲染的场景。

请注意,某些 GUI 元素应该是半透明或圆形 - 因此它不仅会在某些矩形上呈现,还会混合。

这可能吗?或者我可以用另一种方式实现(例如,告诉 Awesomium 使用 DirectX 以某种方式进行渲染)?

或者我可以在 Awesomium 中绘制一个半透明 DirectX 纹理,然后使用 DirectX 在场景上渲染它?我知道 Awesomium 可以渲染到纹理资源,但它支持透明和半透明吗?

如果不是,对于我想通过 Awesomium 实现的目标,是否有好的替代方案?

最佳答案

是的。这是可以做到的。

如果您查看 Awesomium WebView 类的文档,它有一个 surface() 方法,它将返回 View 支持位图。

这是该类的一些 C++ 文档。

http://awesomium.com/docs/1_7_0/cpp_api/class_awesomium_1_1_web_view.html

您可以将此位图复制到 DirectX 中的纹理,并将其渲染为游戏顶部的层,从而创建您的 UI。

您还必须将输入路由和转换为 Awesomium。您可以根据自己的喜好使用 HTML、CSS 和 Javascript 设计您的 UI。您可以通过这种方式使其变圆并引入透明度。

我不会重复关于执行此操作的非常好的教程。你可以在这里找到一个。

http://www.gamedev.net/blog/32/entry-2260646-sweet-snippets-rendering-web-pages-to-texture-using-awesomium-and-direct3d/

在写入纹理后如何渲染它与 Awesomium 没有任何关系。选择您的混合模式和/或使用带有输出纹理的着色器以获得所需效果。

关于c++ - 使用 Awesomium 在 DirectX 窗口上渲染(半透明和圆形元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29530237/

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