当前位置: 首页 > news >正文

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


相关文章:

  • react-native redux使用指南
  • [luogu2165 AHOI2009] 飞行棋 (枚举)
  • node全局对象 文件系统
  • linux下安装Bugzilla(一)
  • sqlServer之取文件后缀
  • 小评 月影技能的sp
  • HashMap 与HashTable的区别
  • 一份书写游戏的回忆录
  • js得到当前页面的url信息
  • debug容错 缺陷抓取
  • 将字串内容输出到文件
  • Storm- 使用Storm实现累积求和的操作
  • 性能报告产生形式
  • LOJ121 动态图连通性(LCT)
  • 暗黑3有严重BUG
  • [数据结构]链表的实现在PHP中
  • codis proxy处理流程
  • css布局,左右固定中间自适应实现
  • JavaScript新鲜事·第5期
  • js ES6 求数组的交集,并集,还有差集
  • JS 面试题总结
  • leetcode46 Permutation 排列组合
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 机器学习学习笔记一
  • 说说动画卡顿的解决方案
  • 小程序button引导用户授权
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​插件化DPI在商用WIFI中的价值
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (二)WCF的Binding模型
  • (十六)一篇文章学会Java的常用API
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • /usr/bin/env: node: No such file or directory
  • ?
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @Pointcut 使用
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [04]Web前端进阶—JS伪数组
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [ACTF2020 新生赛]Upload 1
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [BZOJ] 2044: 三维导弹拦截
  • [BZOJ5250][九省联考2018]秘密袭击(DP)