我们一直在寻找为我们的C ++应用程序添加不错的浏览器支持;这个问题是关于GUI独立的浏览器库,因为我们的项目涉及3D渲染,并且不太适合普通的GUI。
到目前为止我见过的两个是Berkelium和Awesomium。从我的快速调查看,两者似乎都以类似的方式工作,渲染到你自己的窗口/游戏/任何内容的屏幕外缓冲区。 Awesomium是专有的并且花费相当多($ 5k),Berkelium是开源和免费的。有没有人比较过这些(和其他)这样的工具?跨平台是一种好处,但并非100%必不可少。
答案 0 :(得分:13)
看看Chromium Embedded Framework。 CEF 3支持所有操作系统上的屏幕外渲染:Windows / Mac / Linux。
答案 1 :(得分:11)
免责声明:我创建了Awesomium。不过,我会在回应中练习最大的客观性。
Awesomium确实花了不少钱,但它绝对是这项工作的最佳工具,我会用项目符号列表来捍卫我的理由:
简单,记录良好的API ;我们尽力保持API尽可能直观和可读。当你嵌入像整个浏览器框架一样大而复杂的东西时,这一点非常重要。 (相信我,你不想直接嵌入WebKit--这就像吞下太阳一样。)
无窗口渲染;该库从一开始就被设计为在标准“窗口框架”之外使用。我们可以很容易地将WebView呈现给纹理:
的
void update()
{
if(webView->isDirty())
webView->render()->copyTo(texture, width * bpp, bpp, false);
}
稳定的Javascript集成;如果您使用Awesomium作为3D游戏的HTML GUI渲染器,您肯定希望利用我们的Javascript< - > C ++集成。您可以直接从C ++调用Javascript函数,反之亦然,设置回调,公开全局属性等。我写了big guide on my blog here。
<强>好支持的强>;我们使用从顶级商业许可证中获得的资金来资助图书馆的支持和开发。如果您需要帮助,请访问http://support.awesomium.com,我们很乐意帮助您。
该库免费用于非商业用途,对于独立开发者来说非常实惠。如果您想在下一个项目中使用Awesomium并担心价格问题,请发送电子邮件至adam@khrona.com,我会看到我是否无法帮助您。 : - )
答案 2 :(得分:3)
Berkelium的使用非常轻松。我在6天内将它集成到我的游戏中,您可以在此处阅读所有相关内容(以及其他一些选项):http://www.onemanmmo.com/index.php?cmd=newsitem&comment=news.1.31.0
唯一的缺点是没有调试版本和40MB的二进制文件。