在3D游戏中显示网页

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

其实可以做不少的应用:

  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那么精简, 到也可以接受了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

当我们谈论监控时,我们在谈论什么?

1544
来自专栏Web项目聚集地

学习 Node.js 一本书就够了【送书】

每过十天半个月,公众号「Web项目聚集地」就会给大家发福利,福利不限于学习资料、实体书籍。电子工业出版社上新了一本书籍《Node.js实战:使用Egg.js+V...

3513
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙|移动互联网APP的流量测试和优化经验

移动APP的流量测试和优化经验 活动时间:2016年12月8日 QQ群视频交流 活动介绍:TMQ在线沙龙第十四期分享 本次分享的主题是移动互联网APP的流量测试...

2376
来自专栏华章科技

即将放弃Python 2.7的不止有Numpy,还有pandas和这些工具

最近,Numpy 团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对 Python 2.7 的支持,全面转向 Python 3。由于目前存在很多基...

931
来自专栏斑斓

系统架构 | 软件架构的一致性

在Brooks的力作《设计原本(The Design of Design)》一书中,提及“一致性”对软件的重要性。他认为:“一致性应该是所有质量原则的根基。好的...

4427
来自专栏北京马哥教育

并发数和TPS

马哥linux运维 | 最专业的linux培训机构 ---- 并发数和TPS 术语定义: 并发用户数:指的是现实系统中操作系统业务的用户,一般测试指的是虚拟用...

4227
来自专栏小程序·云开发专栏

1个开发如何撑起一个过亿用户的小程序

2018年12月,腾讯相册累计用户量突破1亿,月活1200万,阿拉丁指数排行 Top 30,已经成为小程序生态的重量级玩家。

12.6K12
来自专栏知晓程序

不要再问我,什么是小程序了……

1502
来自专栏机器之心

即将放弃Python 2.7的不止有Numpy,还有pandas和这些工具

37813
来自专栏云计算D1net

桌面云管理技术介绍

在云计算时代,桌面云作为最容易落地的云计算方案,已经在各行各业普遍应用。在桌面云表现出高安全、集中管理、移动化等优势的同时,系统复杂的管理问题、资源难以有效利用...

7024

扫码关注云+社区

领取腾讯云代金券