我想知道是否可以使用Awesomium在DirectX 11游戏中渲染GUI(我不使用.NET ,它的C ++ / DirectX 11游戏) ?
这将涉及:
请注意,某些GUI元素应该是半透明或圆角 - 因此它不仅可以在某些矩形上渲染,还可以混合。
有可能吗?或者也许我可以用另一种方式(例如告诉Awesomium使用DirectX以某种方式进行渲染)?
或许我可以在Awesomium中绘制半透明 DirectX纹理,然后用DirectX在场景上渲染它?我知道使用Awesomium可以渲染到纹理资源,但它是否支持透明度&半透明度?
如果没有,对于我想用Awesomium实现的目标,它们是不错的选择吗?
答案 0 :(得分:0)
是。它可以做到。
如果查看Awesomium WebView类的文档,它有一个surface()方法,它将返回视图支持位图。
以下是该课程的一些c ++文档。
http://awesomium.com/docs/1_7_0/cpp_api/class_awesomium_1_1_web_view.html
您可以将此位图复制到DirectX中的纹理,并将其渲染为游戏顶部的图层,从而创建UI。
您还必须将输入路由并转换为Awesomium。您可以使用HTML,CSS和Javascript来设置UI的样式。您可以通过这种方式对其进行舍入并引入透明度。
我不会重复这么做的完美教程。你可以在这里找到一个。
如何在编写纹理后渲染纹理与Awesomium无关。选择混合模式和/或使用具有输出纹理的着色器以获得所需效果。