在3D游戏中显示网页

长平狐 发布于 2012/11/12 11:50
阅读 442
收藏 0

在游戏中显示网页? 为什么要这么做呢?

其实可以做不少的应用:

  1. 嵌入帮助文档, 比如技能介绍, 可以做得很漂亮, 各种排版方式用传统UI做起来很费劲
  2. 活动公告页面直接在游戏中查看
  3. 游戏内的BBS/社区
  4. 玩家的个性展示/资料
  5. 等等
  6. 最重要的是, 所有的这些内容都可以扔到web服务器上, 不用打包进客户端

最早是用LLMozLib 实验过, 编译这玩意儿费了我老大劲儿, 最终发布时还要带一屁股的DLL和资源

受不了了就用IE自己搞了个, 没做完美, 到是把flash activex嵌入D3D给完成了

当然, 用IE不是不行, 就是性能不好, 实现也很繁琐. HL2泄漏的源代码里有完整的实现, 懒得折腾了

后来有人在Chrome的源码基础上搞出一个Awesomium, 然后闭源商业化成立了一个公司, 算是这方面做得比较成功的一个

EA开源出的eastl等代码里也有一个模块叫eawebkit, 可能也是做这个用的, 没有试验

关于嵌入flash到d3d/ogl这个问题上, 有幸跟uBrowser的作者交流过, 后来他也放弃直接使用IE/ActiveX了, 转向了WebKit

不过没他没有直接集成WebKit, 而是使用了QtWebKit, 做了一个叫LLQtWebKit的东东

今天心血来潮, 把代码down下来, 使用Qt的VS2008插件载入.pro文件, 修正几个配置问题就编译过了


这个库集成到游戏就实用多了, pixel数据更新到一张纹理上, 爱怎么画怎么画, 把网页贴模型上都没问题

依赖的库文件虽然不如Awesomium那么精简, 到也可以接受了



原文链接:http://blog.csdn.net/xoyojank/article/details/7583239
加载中
返回顶部
顶部