三维开发从入门到精通这些就够了!

  • 时间:2020-08-09 13:17
  • 作者:威尼斯人app
  • 阅读:

  Esri北京研发中心主要从事核心软件开发,偏重于最前沿的技术发展领域,在云计算、三维和移动端都走在技术发展前列,发布的产品被应用于全球的用户环境。

  又将三维技术推向了时代前沿,相信已经成功的吸引了不少小伙伴的学习兴趣吧,因此,小编采访了研发中心的三维团队(主打产品ArcGIS 3D Runtime,详见《花开北京,果落UC》)。在综合整理了他们的回答之后,小编按阶段列出了学习方法,希望对大家有所帮助。

  对于之前还没有深入了解三维,但有志于三维开发的同学,推荐彭国伦编著《3D绘图程序设计》。

  这本书,同时介绍了Direct3D和OpenGL,先介绍固定管线绘图流程,通俗易懂的讲解了三维绘图的各个基本概念,如投影,纹理光照,然后介绍可编程管线流程,Shader程序编写。最后还有三维相关的数学知识,如线性代数。随书的源码也是有较强的可读性,也可以方便的用于自己的测试程序中。可谓是一书多用,初学者不用纠结是学OpenGL好还是Direct3D,先学线性代数还是先学图形学,也不用担心自己只会固定管线,不了解可编程管线。这阶段中,你的成长速度是最快的。从此,别人口中侃侃而谈的三维术语再也不陌生了,即使是面试其他岗位的时候,不经意的脱口而出的三维知识也是一个加分项呢 :-)

  这是一个厚积薄发的阶段,扎实的基础使你能在未来的道路上走得更远。先是查漏补缺。在基础学科方面,

  《计算机图形学》,《线性代数》,《解析几何》是必备的。了解了它们,你才能明白二维世界和三维/多维世界的联系(投影)。复杂多维世界是由何种元素,如何构建而成的(点线面体在不同维度的表示方式和相互关系的计算方法)。对于OpenGL,需要深入阅读

  《OpenGL编程指南》(俗称红宝书,可阅读第八版)或者《OpenGL超级宝典》,侧重点为可编程渲染管线;如果是做网页开发,阅读WebGL编程指南类似书籍;嵌入式开发,阅读OpenGL ES开发指南相关书籍;对于Direct3D,可以深度阅读《DirectX9.03D游戏开发编程基础》(也称为“龙书”,有别于编译原理的“龙书”)。这些都是三维开发的经典中的经典书籍,内容全面且细致,保证你不会漏过任何一个知识点。最好是在阅读的同时,自己尝试在随书代码的引导下实践每一章的知识点。这是一个边看边练习的阶段。在练习中可以慢慢品尝掌握新知识的喜悦。

  这个时候,你也许会面临选择,是深入了解图形渲染技术还是进军应用领域。可以根据自己的喜好或者工作需求选择性的阅读以下书籍。

  《Real-Time Rendering》,《GPU精粹》系列和《GPU Pro》汇集了当今国际上前沿开发者们经多年研究和实践得出的实用的实时图形技术成果,还着重介绍了前沿开发者们总结出来的快速技巧。这几本书偏重渲染,时时翻阅,总有新收获。

  《游戏编程精粹》系列和《3D游戏引擎设计》则是比较全面的讲述了和游戏渲染引擎相关的基础概念,《精粹》还详细介绍了国外游戏开发行业最为优秀的程序员的一些小技巧,解决实际问题的思路,算法,源代码。《3D Engine Design for Virtual Globes》则是介绍了三维球引擎的各个细节,球体坐标系,地形,LoD等。在这一阶段,同时也需要阅读,调试大量的源代码,绘制炫酷的效果或者做一些基于开源引擎的软件/游戏。

  OSG,偏科研方向引擎。很多GIS软件是基于它做的。OGRE,偏游戏方向引擎,可以自己做下小游戏。Cesium,学习WebGL的绝好代码。WorldWind,不错的三维球,推荐Java版本。

  这一阶段,仅凭书籍,源码已经不足以提升了,互联网,你的同事和业界大牛才是你的指路明灯。例如,三维组的组员在遇到问题时,会先互联网搜索,然后询问有着丰富经验的同事,并且由于Esri内部的邮件沟通的普遍性,基本上抛出的问题,会有位于多个国家的同事来一同搜索解决方法。还有一些问题,在内部的代码仓库中,会发现其他组的人已经有解决方案和算法以及类库了。

  最后也许你是刚踏入大学校门的莘莘学子,或是面临择业的毕业生,亦或是从业多年,希望在新方向,新领域有进一步突破的程序员。希望本文的内容会对你有帮助。如果对你有启发的话,希望能点赞,转发,你的支持,是我们最大的动力。附上相关招聘信息,请发送简历到,我们等你哟!~ArcGIS Earth相关职位(3D core相关职位(Web高级工程师(

  荐:发原创得奖金,“原创奖励计划”来了!一日之计在于晨,有奖征文邀你分享!

  4.将“商家订单号”填入下方输入框,点击“恢复VIP特权”,等待系统校验完成即可。

威尼斯人app

上一篇:三维开发学习(skyline) 下一篇:大数据时代如何快速开发完成三维可视化应用?