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. C Runtime Library、C  Runtime

    C Runtime Library.C Runtime   1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些 ...

  2. 四川省赛 SCU - 4438

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text pp. Her j ...

  3. [rancher-net]

    ip rule命令 rancher网络全解读 arp命令查询 rancher managed network 实践 docker自定义网桥 iptables增删改查 shell脚本调试技术

  4. PC或者手机上实现相机拉近和旋转

    using System.Collections;using System.Collections.Generic;using UnityEngine;using System; //[Seriali ...

  5. L275 Climate Change Is Having a Major Impact on Global Health

    Climate Change Is Having a Major Impact on Global Health A devastating heat wave swept across Europe ...

  6. golang实现一个代理服务器(proxy)学习笔记

    golang是google公司开发一门新的编程语言.对于老的程序员来说,学习一门语言最好的方式,不过是做一个小的项目. 网上看到这一篇使用golang开发proxy的例子,觉得挺有意思.希望通过实际模 ...

  7. Day15作业及默写

    1.整理今天内容 PASS 2.现有列表alist = [3,1,-4,2,-6] 按照元素的绝对值大小进行排序 alist = [3,1,-4,2,-6] sorted(alist,key=lamb ...

  8. lftp的安装

    lftp的安装 安装依赖的包 yum -y install make  readline-devel  gnutls* 解压上传的包 tar -jxf lftp-4.0.1.tar.bz2 cd到解压 ...

  9. python基于并发与socket实现远程文件传输程序

    FTP程序 Client: * bin/start.py 程序入口 * conf/配置文件存放 * core/ * auth.py 登陆,注册以及上传下载查看当前文件夹下文件以及删除功能存放 * cl ...

  10. JAVA基础部分复习(二、集合类型)

    对于这些常用的集合,建议还是需要先了解一下底层实现原理,这样在不同的使用场景下才能选择更好的方案. Set介绍以及对比,常用方法: package cn.review.day02; import ja ...