C++

http://gamedev.stackexchange.com/questions/21/easy-to-use-cross-platform-3d-engines-for-c-game-development

My Opinion (only for open source 3D engines):

  • Irrlicht:

    • Light 3D engine
    • Clean C++ without dependencies and no STL.
    • Not very well documented but there are good tutorials.
    • Very small so you can customize it easily.
    • No OpenGL 3.X driver, Direct X 10.X or 11.X available in the official SDK.
    • Very good for mobile development;
    • Good community
    • Few extensions available
  • Ogre3D:
    • Big 3D engine
    • It uses modern C++ such as STL, exceptions and RTTI
    • Good documentation (There are published books).
    • Many renderers (OpenGL, DirectX and OpenGL ES...).
    • Ogre3D have many extensions as CEGUI or Bullet integration, Tree nodes...
    • But more difficult to extend Ogre3D if you want something specifics.
    • Big community
    • Many extensions
  • Crystal space: An old design and difficult to use. After few days, I stopped using this engine.
  • Horde3D
    • Small engine
    • Modern design
    • Light community
    • No extensions
  • Blendelf
    • Small engine with some dependencies
    • Modern design with moderns effects as DOF or HDR ...
    • OpenGL only
    • Light community
    • Bullet integration for physics
    • You use lua to pilot this engine3D

TL;DR:

  • For a desktop game (or future commercial game): Ogre3D
  • For a first game: Irrlicht
  • For mobile development: irrlicht (Ogre3D is too big)
  • For sexy effects: Blendelf

Open Scene Graph is a pretty good, very well designed cross-platform 3D engine. Contrary to Ogre3D, for example, it does not provide "game engine" features, and concentrates on being a very nice abstraction on top of OpenGL.

  • It is quite lightweight, and does not force a framework on you: you can use as little or as much of it as you want, and use it through SDL, SFML, wxWidgets, QT...
  • It is a great learning experience: as you learn the library, you understand more and more about the underlying OpenGL and the way it has been designed
  • Pretty much ready to use: it has loaders for mainstream 3D formats
  • Shaders friendly

Have a look at the extensive list of samples.

Easy to use cross-platform 3D engines的更多相关文章

  1. “CMake”这个名字是“cross platform make”

    cmake_百度百科 https://baike.baidu.com/item/cmake/7138032?fr=aladdin CMake 可以编译源代码.制作程序库.产生适配器(wrapper). ...

  2. Comparing Xamarin and Delphi XE5 to Xcode for Cross Platform Mobile App Development

    Comparing Xamarin and Delphi XE5 to Xcode for Cross Platform Mobile App Development If you are consi ...

  3. Using 3D engines with Qt(可以整合到Qt里,不影响)

    A number of popular 3D engines can be integrated with Qt: Contents [hide]  1 Ogre 2 Irrlicht 3 OpenS ...

  4. V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)

    V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245. ...

  5. Gtest:Using visual studio 2017 cross platform feature to compile code remotely

    参考:使用Visual Studio 2017作为Linux C++开发工具 前言 最近在学Gtest单元测试框架,由于平时都是使用Source Insight写代码,遇到问题自己还是要到Linux下 ...

  6. Cross Platform Note: STD C++ Preprocessor directives & pre-defined macros

    ref: http://www.cplusplus.com/doc/tutorial/preprocessor/ concolusion: directives: #define #undef #in ...

  7. Cross platform

    值得学习的C/C++语言开源项目 (1)ACE 庞大.复杂,适合大型项目.开源.免费,不依赖第三方库,支持跨平台. http://www.cs.wustl.edu/~schmidt/ACE.html ...

  8. Cross platform GUI for creating SSL certs with OpenSSL

    Someone said: from : https://micksmix.wordpress.com/2012/08/09/xca-cross-platform-gui-for-creating-s ...

  9. FireMonkey vs. VCL (FMX的UI更灵活,图形效果更强,硬件加速,内嵌3D,使用浮点数更精确,跨平台,可使用Mida converter转换和TFireMonkeyContainer内嵌)

    Frequently when I am talking about the VCL or FireMonkey I get some of these common questions: Is VC ...

随机推荐

  1. codeforce949A(顺带vector详细使用介绍)

    A. Zebras time limit per test1 second memory limit per test512 megabytes inputstandard input outputs ...

  2. Oracle数据库三种备份方案

    Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 ...

  3. Python 面向对象和面向过程对比

    # 大象装冰箱 # 脚本, 此时代码是最简单的. 不需要构思整个程序的概况 print("开门") print("装大象") print("关门&qu ...

  4. Maven下用MyBatis Generator生成文件

    使用Maven命令用MyBatis Generator生成MyBatis的文件步骤如下: 1.在mop文件内添加plugin <build> <finalName>KenShr ...

  5. L2-001. 紧急救援(最短路的变形)*

    L2-001. 紧急救援 #include <cstdio> #include <algorithm> using namespace std; ; int const INF ...

  6. [转]RabbitMQ系列(一):Windows下RabbitMQ安装及入门

    https://blog.csdn.net/hzw19920329/article/details/53156015 1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang ...

  7. 大数据-02-Scala入门

    Scala 简介 它是一门基于JVM的面向函数和面向对象的编程语言, 它包含了求值表达式,闭包,切片操作,模式匹配,隐式转换等特性. 可变量/不可变量 可变集合/不可变集合.集合操作 函数 值函数 求 ...

  8. js获取当天零点的时间戳

    var now_date = new Date();//获取Date对象now_date.setHours(0);//设置小时now_date.setMinutes(0);//设置分钟now_date ...

  9. PHP 设计模式系列 —— 工厂方法模式(Factory Method)(转)

    1.模式定义 定义一个创建对象的接口,但是让子类去实例化具体类.工厂方法模式让类的实例化延迟到子类中. 2.问题引出 框架需要为多个应用提供标准化的架构模型,同时也要允许独立应用定义自己的域对象并对其 ...

  10. Python网络爬虫之图片懒加载技术、selenium和PhantomJS

    引入 图片懒加载 selenium phantomJs 谷歌无头浏览器 知识点回顾 验证码处理流程 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.ch ...