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多希望大家一起交流与沟通 这篇文章是 ...
随机推荐
- 【Unity】第10章 Mecanim动画系统
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Unity提供了两种动画系统:一种是早期版本提供的旧版(Legacy)动画系统,旧版本(Legacy)以后将逐步被淘汰掉 ...
- GitBash:修改GitBash主题配色和字体
打开GitBash,使用命令: cd ~ 然后: vi .minttyrc 使用下列内容替换已有内容: Font=Consolas FontHeight= ForegroundColour=,, Ba ...
- angular的uiRouter服务学习(4)
本篇接着上一篇angular的uiRouter服务学习(3)继续讲解uiRouter的用法 本篇主要讲解uiRouter的url路由 大多数情况下,状态是和url相关联的: 当url改变,激活对应的状 ...
- 【Redis】Redis的基本安装及使用、Jedis的基本使用、spring-data-redis的集成、主从模式、哨兵模式
在Linux上安装Redis Redis的安装很简单.基本上是下载.解压.运行安装脚本.我用的Redis版本是3.2.1. [nicchagil@localhost app]$ wget -q htt ...
- 使用TCP协议的NAT穿透技术(转)
其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之. 一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基 ...
- java double类型保留两位小数4种方法
http://blog.csdn.net/huaishuming/article/details/17752365 ****************************************** ...
- 使用jQuery清空file文件域的解决方案
使用jQuery清空file文件域的解决方案 var file = $("#file") file.after(file.clone().val("")); f ...
- Python- requests详解
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...
- Android学习笔记(38):Handler消息传递处理机制
先说为什么须要Handler: Android的主线程又叫UI线程,用于处理与UI相关的时间.Android仅仅同意在主线程中改动UI组件,当我们在其它线程中须要改动UI界面时.就须要发送消息到主线程 ...
- thinkphp继承高级model后的乐观锁运用(测试中)
<?php class IndexAction extends Action { private $d_user; private $user; private $arr; public fun ...