3D引擎Axiom的选择与学习.
经过前面针对OpenGL的一些特性的学习,越发觉得要学的更多,相关如LOD,各种阴影实现,场景管理如BSP与Octree等以及还没听过的各种的实现.有感自学的进度太慢,并且在做一些小DEMO时,心中不由的想到各种想要的大场景的实现.,故想到直接从3D引擎根据代码学习,然后就开始在各大网站上翻看各种开源引擎,主要是根据如下几条来选择1.开发语言最好是C#,毕竟C#的组织性强,阅读有条理,并且基于面向对象的语言也更适合团队开发.2要有上面如模型,地面的LOD实现,以及相应的场景管理功能,各种阴影的实现.3最好包装的OpenGL的实现,如果OpenGL与D3D都包含就更完美了.4有点名气,可能觉得有点俗,不过主要是因为越有名气,对应的资料会越多,能更好的吸取前辈们的经验.
基于这上面几占,在这个游戏引擎列表里,可以看到可供选择的比较多.其实最开始我选择的是卡马克大神的雷神3引擎以及Ogre的net版MOgre,不过前者主要是基于C语言开发,效率肯定是牛B哄哄的,用来快速学习不好掌握.而MOgre看简介发现,MOGRE (Managed OGRE) is an advanced .NET wrapper for OGRE.这就是说,是在C++上进行的包装,实现还是在对应的Ogre上面(就如OpenTK与OpenGL).然后在那引擎列表里又找了一些并下载试用,终于发现一个名声不显的引擎Axiom,大家可能要说,这不是不满足第4点吗,且看对Axiom的介绍.
The core of Axiom is a port of the very popular OGRE graphics engine, which was chosen based on its clean object-oriented design, powerful features, and flexibilty. The original port was carried out by Leedgitar, the project founder.
看到了没,Axiom是Ogre的net实现版,不同于MOgre,他是把Ogre里的核心代码都用C#来实现的,其中针对OpenGL的包装用的是开源项目OpenTK(后调试好像还是用的Tao框架),也就是我以前Demo用的,并且包含了针对D3D的渲染,用的好像是SharpDX或是SlimDX,MS自己的Managed DirectX已经被MS放弃更新了.前面说了名气其实就是为了学习资源,那Axiom的学习资源多不,不多...果然和我想的一样,名气越多,资源越多.但是架不住有个好爹,Ogre的资料多,资料吻合度可以这样说,在看Axiom的中心源代码时,或是生成,组织,利用如场景,资源等代码,二者的代码几乎一样.这么说,你看用MOgre讲解的Demo,里面的代码几乎就和Axiom的Demo过程一样.
Axiom是LGPL授权,意思可以有条件的商用,并且支持Mono开发.可以用于Windows,Linux,Android,iPhone,Windows Phone,XNA,几乎对主流平台都提供支持.支持各种纹理以及常用的图像格式,支持Cg与HLSL着色器语言,支持顶点/片断着色器.动画支持关键桢动画,骨骼动画,场景管理支持如BSP,Octrees.支持Ogre .mesh 文件格式并可以预加载LOD层次,相关的建模,蒙皮操作.等一系列高级特效.还有非常强大的插件系统.详细介绍请看官网Axiom.
请注意,Axiom的源码存放在 http://svn.axiom3d.net/svnroot/axiomengine/trunk,别的一些开源项目网站多存放的是Axiom的编译后的DLL.
3D引擎Axiom的选择与学习.的更多相关文章
- 从0开发3D引擎(七):学习Reason语言
目录 上一篇博文 介绍Reason Reason的优势 如何学习Reason? 介绍Reason的部分知识点 大家好,本文介绍Reason语言以及学习Reason的方法. 上一篇博文 从0开发3D引擎 ...
- 从0开发3D引擎(六):函数式反应式编程及其在引擎中的应用
目录 上一篇博文 介绍函数式反应式编程 函数式反应式编程学习资料 函数式反应式编程的优点与缺点 优点 缺点 异步处理的其它方法 为什么使用Most库 引擎中相关的函数式反应式编程知识点 参考资料 大家 ...
- 从0开发3D引擎:目录
介绍 大家好,本系列带你踏上Web 3D编程之旅- 本系列是实战类型,从0开始带领读者写出"良好架构.良好扩展性.优秀的性能.最小功能集合(MVP)" 的3D引擎. 本系列的素材来 ...
- 从0开发3D引擎(补充):介绍领域驱动设计
我们使用领域驱动设计(英文缩写为DDD)的方法来设计引擎,在引擎开发的过程中,领域模型会不断地演化. 本文介绍本系列使用的领域驱动设计思想的相关概念和知识点,给出了相关的资料. 上一篇博文 从0开发3 ...
- Wonder第一期3D引擎和编辑器线下培训班报名开始啦(免费学习)
Wonder第一次举办 针对3D底层技术的 线下培训班,免费学习,请大家多多支持-感谢- 培训地点 成都 开课时间 报名满5人开课. 报名方式 加QQ群:732861508 备注请写:报名培训 老师介 ...
- 关于如何学好游戏3D引擎编程的一些经验[转]
此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 ——阿哲VS自己 QQ79134054多希望大家一起交流与沟通 这篇文章是 ...
- 万圣节福利:红孩儿3D引擎开发课程《3ds max导出插件初步》
ds max文件夹,插件文件夹以及3ds max的可执行程序文件夹: 位的,这里要改成x64,否则启动程序后3ds max会提示"不是有效的win32程序"之类的对话框. 然后要将 ...
- 如何学好游戏3D引擎编程
注:本文是网上看到的一篇文章,感觉写的很好,因此收藏了下来 <如何学好游戏3D引擎编程>此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才 ...
- (转)关于如何学好游戏3D引擎编程的一些经验
此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 ——阿哲VS自己 QQ79134054多希望大家一起交流与沟通 这篇文章是 ...
随机推荐
- Fluent UDF【1】:简介
前面基本完成了动网格专题的发布,不过还是有一些内容并没有更新进去,比如说in-cylinder.接触检测.2.5D网格重构等.不过这些都是小技巧,写起来挺麻烦,以后有时间再通过案例视频的方式讲解好了. ...
- 每日英语:Welcome to the Global Middle-Class Surge
The mass uprisings this summer in Egypt, Turkey and Brazil are powerful reminders that the middle cl ...
- 每日英语:Got a Case of the Mondays? Blame the Sunday Blues
Welcome to Monday morning at the office. Did you have trouble sleeping last night? Was your stomach ...
- 使用JPush(极光推送)实现远程通知
使用JPush(极光推送)实现远程通知 远程推送是APP 必备的功能, 现在第三方的 SDK 已经做的非常完备了, 在 iOS10.0出来之后, 极光推送也及时更新了他的 SDK, 今天小试了一下效果 ...
- 一、图解Java中String不可变性
这里有一堆例子来说明Java的String的不可变性. 1.声明一个String String s = "abcd"; s 变量保存string对象的引用,下面的箭头解释成保存了哪 ...
- maven 使用之自动编译热部署设置
参见创建webapp项目 eclipse Maven 使用记录 ------ 建立 webapp项目 在maven中为实现热部署设置,部署至webapp,即webroot 设置classes输出目的地 ...
- SFTP文件上传与下载(window 上传文件到linux服务器)
一.文件上传 说明1:所谓上传window上的文件上传到linux上 说明2:上传的文件会自动放到当前的用户的家目录 1:打开SFTP的窗口 Alt+p 输入上传命令: 语法: put path/f ...
- combbox选中新添加的数据
用到这样的一个功能:在CombBox中添加一项,并激活此项. string uvaName = newUVA.uvaName; this.comboBox_allUVA.Items.Add(uvaNa ...
- 1. K近邻算法(KNN)
1. K近邻算法(KNN) 2. KNN和KdTree算法实现 1. 前言 K近邻法(k-nearest neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用, ...
- [转]handsontable常规配置的中文API
原文地址:http://blog.csdn.net/mafan121/article/details/46050049 常规配置: 1.固定行列位置 fixedRowsTop:行数 //固定顶部多少行 ...