3D游戏引擎的Web化

最近floh大神的blog又复活了, 现在n3的主要发展发向是web化

其实也是跟PC和主机平台的衰落有关, 各种移动设备正在逐渐取代PC的地位
而做为一个3D游戏引擎, 想要适应这个潮流却不是很容易
先不考虑其它, 光技术上面临的问题就很棘手:
  • C++目前无法直接用于web开发, 必然要面临老代码转换/移植的问题
  • 3D硬件加速的渲染在浏览器这边, 没有一个统一的标准
  • 多线程, web浏览器里对于线程的使用有很多限制
  • 输入设备, 比如右键的功能很多时候会跟浏览器冲突
  • IO, 通过网络传输的资源在传输, 访问权限等上也有限制
  • 性能问题, 脚本语言的速度虽说已经很快的, 但还是没有Native快

就目前来说, C++的3D引擎勉强能用的解决方案大概有5种:

  • Microsoft IE ActiveX
    • 平台支持: IE(Win). 本身设计有问题, 不被其它平台支持
    • 优势: 相当于把现有的引擎换个窗口, 代码改动最小, 性能几乎没损失
    • 缺点: 需要安装插件, 没认证过的会被大多数安全软件拦截, 不如直接做成微端
    • 代表: Unity3D, 山寨(或叫自研)3D引擎开发的游戏
  • Sun Java JNI
    • 平台支持: Win/Mac/Linux. 不过需要每个平台都做一个Native版本
    • 优势: 浏览器兼容性好, 相当于一个通用的ActiveX
    • 缺点: 操作系统跨平台需要额外工作. 需要安装Java, 并且开启浏览器支持
    • 代表: Drakensang Online
  • Adobe FlasCC
    • 平台支持: Win/Mac/Linux. 需要Flash11+, 把C++编译成AS能用的库
    • 优势: 平台兼容性目前最好
    • 缺点: 渲染器需要重写, 而且是Adobe自己的一套标准. 另外, 想要性能高? 买license!
    • 代表: Epic Citadel(只是demo而已)
  • Google Native Client
    • 平台支持: Chrome(Win/Mac/Linux). 浏览器限制住了...
    • 优势: 与Native的性能差距不大, 而且IDE与Debugger目前也有了(VS2010)
    • 缺点: 虽然看上去很完美, 但不被其它势力所支持
    • 代表: OGRE, Bullet, Unity3D...Google Web Store上有不少移植好的游戏了
  • Mozilla Emscripten
    • 平台支持: FireFox/Chrome(Win/Mac/Linux).  把C++编译成JS
    • 优势: HTML5符合未来的发展趋势
    • 缺点: WebGL不被Microsoft支持. 性能目前损失比较大, SDK也不是非常成熟
    • 代表: BananaBread
值得注意的是, Adobe/Google/Mozilla这些都是基于LLVM搞的, 看来这也是一个好玩的玩意儿
暂时总结这么多, 很多观点是具有时效性的, 明年说不定就大变样了

做为游戏开发者, 还是要做好准备, 免得out了, HOHO~
注: 本文仅限于C++开发的3D游戏引擎, 不包括各种XNA/Sliverlight的3D游戏或是Flash/HTML5的2D游戏
By EnoroF

转载于:https://www.cnblogs.com/EnoroF/p/3430837.html

3D游戏引擎的Web化相关推荐

  1. 3D游戏引擎剖析【较全面】

    转自:http://blog.csdn.net/is01sjjj/article/details/430125 第1部分: 游戏引擎介绍, 渲染和构造3D世界 介绍 自Doom游戏时代以来我们已经走了 ...

  2. 转:3D游戏引擎技术剖析

     转自 http://blog.csdn.net/jbjwpzyl3611421/article/details/12681047 3D游戏引擎技术剖析 分类: Unity3D2013-10-13 1 ...

  3. 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录

    3D游戏引擎设计  实时计算机图形学的应用方法  第2版 目录 第1章 概述 1.1 图形硬件和游戏发展史 1.2 本书版本与软件发展史 1.3 章节导读 第2章 图形系统 2.1 基础知识 2.1. ...

  4. 3D游戏引擎入门课程——概述

    目录 写在前面 导图 索引 概述 游戏引擎概述 游戏引擎框架概述 功能游戏 游戏引擎中的设计模式 文档链接 写在前面 本专栏内容均为学堂在线慕课<3D游戏引擎架构设计基础>中的内容.个人将 ...

  5. 3D游戏引擎原理简介

    作者:Luke Hodorowicz 翻译:乐晨光 (2001/9/28) 本人对3D也不甚了解,译文动机一则是内容所致兴致昂然,二则锻炼英译中技能.由本人水平及经验有限,文中绝对不乏大量误解与误译, ...

  6. 【直播预告】7月18日3D游戏引擎免费公开课答疑,參与送C币!

    喜讯喜讯! 为了酬谢广大学员.CSDN学院特推出iOS和3D游戏引擎开发免费技术答疑公开课,让您度过一个充实的暑假~ 參与本次公开课,即有机会获得50C币! 答疑公开课时间:7月18日 晚7:30-9 ...

  7. html5 2d,3d游戏引擎

    html5 2d,3d游戏引擎 http://biz.turbulenz.com/developers posted on 2014-10-12 21:58 雨亭 阅读(...) 评论(...) 编辑 ...

  8. 棒!使用.NET Core构建3D游戏引擎

    原文地址:https://mellinoe.wordpress.com/2017/01/18/net-core-game-engine/ 作者:ERIC MELLINO 翻译:杨晓东(Savorboa ...

  9. 原创2D/3D游戏引擎源代码开源

    个人2D.3D游戏引擎开源 早期的作品代码结构较差,对大家造成的误导敬请谅解.我会不断的更新个人作品,请大家始终参考最新的源码.在此感谢热心网友给我提的宝贵意见. (2015.4.12修改:更新了2D ...

  10. iPhone的2D/3D游戏引擎

    近日在学习iPhone游戏开发,对于2D和3D游戏引擎的使用大费了一番周折.这方面的内容国内网站还很少,只能通过google来查找国外的一些网站资料.还好,总算找到了适合自己和团队学习的引擎. 先对可 ...

最新文章

  1. Seaborn使用lmplot函数可视化散点图并添加回归曲线、移除默认的回归曲线置信区间(Scatter plot with regression line、Remove CI band)
  2. OpenAI推出数学推理证明模型,推理结果首次被数学家接受
  3. 【恋爱通告】高清完整版迅雷下载! 首发
  4. iangularjs 模板_AngularJS中的模板安全与作用域绑定
  5. 【python3】通过hashlib 和base64 对字符串进行加密
  6. How to install Toad on linux with Corssover
  7. C#获取容器窗体中控件Location问题
  8. OpenCv调用摄像头拍照代码
  9. AngularJS之代码风格36条建议【一】(九)
  10. 关于(我们流量表优化),分区表数据块过多,聚合又导致数据倾斜问题
  11. 【记录】我在浙江省机器人大赛的第一天
  12. 我本人一直以来犯的错误,在看了 Think In Java 后才抓了出来
  13. Android 两个Activity进行数据传送 发送
  14. LeetCode 647 回文子串
  15. sql与ORACLE链接服务器相互访问方法
  16. PN序列的产生以及相关函数的计算
  17. 动态SQL之、条件判断(转)
  18. 如何点亮QQ邮箱图标 - 龙 炫家族特权
  19. [PTA] 7-11 计算平均分
  20. 人生苦短,使用百度云SDK,编写python代码调用接口的车牌识别

热门文章

  1. CKeditor 插件
  2. StartUp.xls宏病毒清除方法(excel宏病毒)
  3. 社交巨人屏蔽Google搜索 Facebook发展强劲拟上市
  4. 一英寸芯片大小_晶圆和芯片的关系_一个芯片有多少晶圆
  5. cpu高对计算机有什么影响吗,电脑CPU性能高低有什么影响 怎么提高电脑CPU性能...
  6. input标签的type属性汇总
  7. c语言进行catia二次开发,想入门CATIA二次开发CAA的盆友们(谈谈开发经验,或许对你有帮助)...
  8. 微信第三方服务商更新ticket时,aes解密失败
  9. pccad无法找到所需的动态链接库_关于PCCAD的,请大神回答!!感激不尽~~~~已经重新装过2次了!!!!...
  10. 检查mysql被挂马_对付数据库被挂马有绝招