`
Poechant
  • 浏览: 212104 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:23494
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:21402
社区版块
存档分类
最新评论

传统3D游戏引擎的Web化

阅读更多

转载自:http://blog.csdn.net/xoyojank/article/details/8107373


最近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游戏
分享到:
评论

相关推荐

    C++本科毕业设计一个3D游戏引擎系统源码.zip

    C++本科毕业设计一个3D游戏引擎系统源码。C++本科毕业设计一个3D游戏引擎系统源码。C++本科毕业设计一个3D游戏引擎系统源码。C++本科毕业设计一个3D游戏引擎系统源码。C++本科毕业设计一个3D游戏引擎系统源码。C++...

    3D游戏引擎开发案例.rar

    3D游戏引擎开发,游戏开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发3D游戏引擎开发

    手把手教你架构3D游戏引擎_姜雪伟_高清PDF扫描版

    本书主要介绍如何利用3D固定流水线编写游戏引擎,以及在已编写引擎的基础上开发游戏,全书共分10章,主要内容包括游戏引擎简介、数学知识、材质和光照、固定流水线、游戏引擎架构、3D引擎底层封装、3D引擎封装、游戏...

    3D游戏引擎irrlicht

    3D游戏引擎irrlicht

    本科毕业设计,一个简单的3D游戏引擎.zip

    本科毕业设计,一个简单的3D游戏引擎 本科毕业设计,一个简单的3D游戏引擎 本科毕业设计,一个简单的3D游戏引擎 本科毕业设计,一个简单的3D游戏引擎 本科毕业设计,一个简单的3D游戏引擎 本科毕业设计,一个...

    3D游戏引擎设计与实现

    平台:Windows平台 3D API: DirectX 开发工具:VS 2003.net中文版 架构:COM方式的DLL

    3D游戏引擎设计架构

    一片比较全面的介绍3D游戏引擎架构的技术文档! 老外写的,翻译成中文了! 对于引擎的学习,相当的有帮助!

    3D游戏引擎的研究与实现

    3D游戏引擎则是整个游戏产业的核心 技术。3D游戏引擎技术是-I'-J综合技术,涉及了计算机图形学、网络、人工智 能等领域,是当前研究的热点之一。 本文将游戏引擎分为底层引擎和高层引擎。底层引擎主要提供内存管理、...

    3D游戏引擎设计 实时计算机图形学的应用方法 第2版-内附目录

    《3D游戏引擎设计实时计算机图形学的应用方法(英文版·第二版)》深入剖析了3D游戏引擎的设计,书中许多内容对于更好地理解3D计算机图形学也极有帮助。《3D游戏引擎设计实时计算机图形学的应用方法(英文版·第二版...

    轻量级Android 2D/3D游戏引擎

    LTLite Engine 是一个基于OpenGL ES的轻量级2D/3D游戏引擎,用C/C++实现, Android游戏开发者可以在windows下用cygwin+NDK+SDK环境,采用C++/C代码编写出的游戏运行效率高,引擎包含2D/3D的库,既可以单独使用2D库也...

    3D游戏引擎在虚拟展示中的应用研究.pdf

    了传统虚拟展示技术的应用特点,初步阐述了将3D 游戏引擎引入虚拟展示领域的思想。 然后深入剖析3D 游戏引擎和多媒体数据库技术,从而进一步论证利用3D 游戏引擎来 实现虚拟展示系统的可行性。最后介绍一个完整的...

    Unity3D游戏引擎教程合集.zip

    Unity3D游戏引擎教程合集.zip 面向Unity程序员的Android快速上手教程 Unity3D学习路线图

    计算机图形学课程设计-基于OpenGL的3D游戏引擎系统源码.zip

    计算机图形学课程设计-基于OpenGL的3D游戏引擎系统源码.zip 计算机图形学课程设计-基于OpenGL的3D游戏引擎系统源码.zip 计算机图形学课程设计-基于OpenGL的3D游戏引擎系统源码.zip 计算机图形学课程设计-基于OpenGL...

    android的3d游戏引擎

    android的3d游戏引擎,本人亲自测试,在Android下完全可以运行

    DirectX 3D游戏引擎Irrlicht教程合集.zip

    DirectX 3D游戏引擎Irrlicht教程合集

    OpenGl3d游戏引擎场景漫游系统接口

    OpenGl3d游戏引擎场景漫游系统接口

    一个简单的3d游戏引擎

    很简单的第一人称射击游戏引擎,3d的,可以扩展,供大家参考吧

    C#3D游戏引擎源代码

    一款c#编写的游戏引擎,带有源代码和Demo

    java3d游戏引擎

    无比强大的纯java开发的游戏引擎,源代码下载!

Global site tag (gtag.js) - Google Analytics