网站大量收购闲置独家精品文档,联系QQ:2885784924

关于如何学好游戏3D引擎编程一些经验.doc

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《如何学好游戏3D引擎编程》 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰 ——阿哲VS自己 Q希望大家一起交流与沟通 这篇文章是我一年半前,找工作时候写的,那时是发到学校的BBS上。现在我工作了,想法和以前也有不同,但对游戏引擎编程理念还是基本差不多。在我没遇到 U3以前,一直研究WILDMAGIC,可以说是GAMEBRYO的前身吧,他们基本框架都差不多,是完全面向对象,代码容易读,但它发展存在严重的弊端,这个也是它为什么不是牛B引擎的原因。但从渲染和动画方面来看,U3的 MATERIAL TREE 和 ANIM TREEE 是2个飞跃的,当我对我自己引擎渲染材质和光照一筹莫展的时候,MATERIAL TREE带来的希望。对比 zfx (wildmagic)gamebryo 和ogre 还有U3,各有优缺点,而且你可以看到一个引擎发展,从一个以多边形为渲染单元,变成以mesh做为渲染单元(现在很少有引擎场景管理分割多边形来做的 我始终喜欢zfx引擎,它是00-02之间的引擎,完全让你可以理解那时候显卡不是很强的时候,一个引擎应该具备的特征。对于架构来讲, (wildmagic)gamebryo 和ogre 做的很好,u3的特点就是架构乱,没有什么可读性的技术文档,研究起来十分吃力。做为一个商业引擎,对于渲染方面,我认为 (wildmagic)gamebryo 输给了ogre,框架设计还有弊端,ogre确实是一个好引擎。而U3对于渲染过程,光照,阴影,就是一帧的渲染过程,处理的十分得当。动态生成 shader是一个引擎的发展的必然趋势,而往往动态生成最多的,也就是材质和光照,它们不能分开,分开谈无意义,MATERIAL TREE 我始终认为是个太好的想法了,任何特效不需要程序员过多参与,美术可以搞定一切,什么水,反射,折射,这些效果,编写起来易如反掌,还可以实时光看效果。其他动态生成,也就是根据配置不同,来做处理,动态编译shader弊端太大,不能做到所有,而且不灵活,如果动态生成和动态编译合起来,简直牛B透顶了。现在我的引擎已经有了MATERIAL TREE这个功能,ANIM TREEE在制作中。 这里面我重点谈的是图形方面,略带些动画方面,一个引擎最基本的是内核,包含内存管理,文件读写,资源管理等等吧,也十分重要,我的引擎这些写的都很简单,基本都是wildmagic里面的。 我总结3D引擎编程的4个阶段 第一阶段是了解3D原理和数学基础,大学里面学的线性代数,概率统计和高等数学完全足够,在3D中都有充分体现。最好自己能做一个软引擎,这样整个3D流水线自己完全可以掌控,然后在学DX之类的API很容易。 第二阶段不要看引擎,还是应该以实现各种效果和基本算法为基础,包括各种图形特效,场景管理,剪裁算法,各种动画算法,等等,所有那些单一的算法,如果这些都不是了解很好,那么做引擎时引擎框架的接口也不会设计好!再添加这些算法和效果时 会很困难,效率也不会很高。 第三阶段,就是看大量的引擎,对引擎有很深刻的概念,3D引擎只是引擎的一部分,引擎主要是框架,如果框架搭建好了,那么引擎的效率是很显著的,其他底层细节优化,也会有明显的优势体现。 第四阶段,再好的引擎没有成功的游戏支撑都是白费,你不仅仅是做引擎,而是做的有开发价值的引擎,可以很好的为游戏服务的引擎。 下面这段话写于一年半前~~ 前言 本人不才,姑且以自己经验来谈如何学游戏编程,这个话题我酝酿了很久,它确实很难写,因为我也不是资深高手,才刚刚登堂入室,游戏编程大师功力一般都十几年左右,所以让我这样的小卒写的深入浅出更何谈容易,错误出现并不奇怪,高手见笑也在所难免,请大家指正,我会欣然笑纳。但这几年走过的路,让我知道这么学是正确的,大体过程经验告诉我,这样做是对的,高手的指引告诉我,这样做是对的。 这篇文章主要讨论如何学习游戏图形编程和游戏引擎编程,告诉没有接触游戏过编程或者现在关于怎么学好游戏编程还迷惑的PEOPLE所要走的方向,完全抛开技术和代码实现进行谈论。至于游戏逻辑这几年重点没有发到这个上面上,很难总结。 经验的限制,对于如何编写一个好的引擎(至于“好”这个词都是相对而言,能做的满意就是我所期望的),至今为止我还没有这个能力,但我相信经过我的努力,不久的将来,我会实现这个愿望,因为我的一个愿望就是实现一个好的引擎。 我从下面几个方面来说明如果学习,记住只是如何学习,要想学好就要靠你自己。 1。 你真的喜欢游戏编程吗? 2。 要了解游戏编程 3。 学会读书,自学与思考,交流与合作 4。 游戏编程需要的基础知识 5。 2D游戏编程 6。 3D游戏编程 7。

文档评论(0)

bhyq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档