作者从事IT行业15年游戏图片素材,一直奋斗在一线编程。 他从一名普通程序员逐渐成长为上市公司的技术总监。 目前在一家创业公司担任技术合伙人,主要负责公司整个项目团队的技术管理。 很多同学在网上或者论坛上问我如何学习3D游戏编程。 他们大多刚刚进入游戏行业directx 90 3d游戏开发编程,也有从2D程序转向3D程序的开发者。 在这里我将自己学习3D游戏开发的经验分享给读者。 我把学习3D游戏开发分为五个阶段:
第一阶段是学习3D相关的基础知识。 你必须首先学习一门编程语言。 这是必要条件。 C++ 编程最常用于游戏开发。 3D引擎开发使用的图形库一般是OpenGL或DirectX。 其中OpenGL可以跨平台使用,应用最为广泛。 DirectX是微软开发的,主要针对PC。 图形库的主要功能是渲染,所以大家还需要掌握一门Shader编程语言,主要是CG和HLSLdirectx 90 3d游戏开发编程,3D编程会涉及到很多向量运算和矩阵运算。 在真正学习3D游戏开发之前,你需要掌握这些,为你以后的技术提升打下坚实的基础。 将结构图呈现给读者如下:
6小时前上传
第二阶段是学习3D游戏开发的基本流程。 换句话说,将 3D 模型渲染到屏幕上需要经过多少步骤? 这就是我们常说的固定流水线和可编程流水线。 其中,固定管道是最基本的。 可编程流水线主要是将固定流水线中的一些操作放到GPU中执行。 固定管道包含的知识点如下:
6小时前上传
第三阶段是真正涉及游戏编程开发。 这里我们将其分解为多个知识点,开发者必须分别掌握。 需要掌握的知识点如下图所示:
6小时前上传
第四阶段告诉读者如何自己封装一个弱引擎。 作者利用业余时间封装了几款3D游戏引擎。 为此,他还写了一本书专门介绍发动机封装。 对于初级程序来说,还是比较容易掌握的。 简单的。 书名是《一步步教你如何搭建3D游戏引擎》。 当然,对于市面上比较流行的Unity3D引擎和UE4引擎来说,它们的知识点肯定不止这些。 3D引擎的功能还是很大的,引擎开发的投入也需要一定的人力和财力。 现将书中主要知识点展示给读者:
6小时前上传
第五阶段主要是学习图形编程算法,这也是3D引擎的核心功能。 其实它所做的就是将CPU上运行的程序转移到GPU上运行,也就是通常所说的可编程流水线。 该引擎主要实现场景的后处理渲染。 读者需要掌握的知识点如下:
6小时前上传
最后硬件设备,作者向读者展示了他独立实现的引擎效果图。 该海水模拟引擎对海水的模拟接近CG效果。 如下所示:
实时生成水中的动态效果
海水模拟的反射和折射效果
来源:csdn