我有一个带有DirectX 11的3d游戏渲染器-该项目还使用WinAPI。

在游戏顶部,我想使用Sciter渲染HTML / CSS UI(这是一个单独的,全屏游戏窗口)。

因此,我最初使用engine->render()绘制3D场景。

然后用Sciter绘制UI(目前只是load_file(....htm))。问题是,UI覆盖了整个窗口(带有白色背景),而我无法通过UI看到游戏。

如何在UI和以前渲染到窗口之间的“蒙版”中应用透明度?

我已经尝试过SciterSetOption(*hwnd, SCITER_ALPHA_WINDOW, TRUE);,但是这会使整个窗口的白色背景透明(我看到了窗口后面的东西,桌面-不是我的3D场景,它也是透明的:/)。

我设置html, body { background-color: transparent; }没有结果。

最佳答案

您无需在单独的窗口中呈现UI,因为Sciter能够直接在DirectX 3D场景中呈现HTML / CSS内容:

c++ - 在窗口顶部使用Sciter渲染UI-LMLPHP

检查http://sciter.com/sciter-and-directx/文章。

10-02 06:51