前几年写过一本书《手把手教你架构3D游戏引擎》电子工业出版社,主要内容讲的是固定流水线编程,目的是让读者理解第一代引擎是如何实现的,从本篇博客开始,给读者介绍关于使用可编程流水线自己搭建3D游戏引擎,我将它设为高级篇,我会从查资料学习技术最基本的讲起,教给读者如何一个人搭建一款接近商业的自研引擎,希望读者能学习到搭建引擎的一些小技巧,帮助你理解可编程流水线引擎流程,以及提升你优化引擎的能力,3D游戏引擎其内在的本质是相同的,只是表现方式不同而已,所以学习自己搭建一款引擎对你技能的提升帮助非常大,至少你再接触其他引擎时,做二次开发信心还是大大的有滴,而且更有助于你理解Unity引擎的开发以及后期优化。
市场上对于3D游戏引擎的开发需求还是非常大的,虽然Unity和UE4非常成熟了,还是有很多大厂自研引擎,另外一些做虚拟仿真公司也在自研引擎,毕竟自研引擎的代码是我们自己写的,有什么问题可以快速的定位,而且可以针对项目的需求做一些定制开发,非常方便,底层代码也可以根据项目需求做一些优化。有自研引擎的公司都会有自己的引擎部门,它们的职能就是负责引擎的开发以及优化。对于自研引擎,说的明白一些就是我们可以针对自己的项目针对性的开发一款引擎,这款引擎功能并不需要多强大,能满足我们项目求即可。引擎的开发是一个团队的事情,一个人很难制作出一款成熟的商业引擎,工作量太大,开发周期也会漫长,涉及到的技术点也比较多,但是作为引擎开发人员对于引擎常用技术还是需要掌握的。假设公司让你组建引擎团队,开发一款商业引擎,我们应该从哪几方面入手:
首先要清楚我们的引擎是用于什么项目开发?
我们的