阿里云服务器免费领卷啦。

捡代码论坛-最全的游戏源码下载技术网站!

 找回密码
 立 即 注 册

QQ登录

只需一步,快速开始

搜索
关于源码区的附件失效或欺骗帖, 处理办法
查看: 2166|回复: 0

学习3D游戏开发进阶之路

[复制链接]

4208

主题

210

回帖

12万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
126198
QQ
发表于 2016-12-26 16:19:29 | 显示全部楼层 |阅读模式

笔者从事IT行业15年了,一直奋斗在一线编程,从普通程序员逐步成长到上市公司技术总监,目前在创业公司担任技术合伙人,主要负责公司整个项目团队的技术管理。在网上或者论坛上很多同学请教过我关于如何学习3d游戏编程,大部分人都是刚踏入游戏行业的,也有从2D程序转向3D程序的开发者。在这里我将自己的学习3D游戏开发的经验积累分享给读者。学习3D游戏开发我将其分为五个阶段:

第一阶段是学习3D相关的基础知识,首先要学会一门编程语言,这个是必要条件,在游戏开发中使用的最多的是C++编程,3D引擎开发使用的图形库,一般都是OpenGL或者DirectX,其中OpenGL是可以跨平台使用的,其应用最广,DirectX是微软研发的主要是面向PC端的,图形库的主要功能是渲染,所以大家还需要掌握一门Shader的编程语言,主要是CG和HLSL,3D编程会涉及到很多向量运算和矩阵运算,在真正学习3D游戏开发之前需要将这些熟练掌握,为你以后技术的提升打好基础。将结构图展示给读者如下所示:

第二阶段是学习3D游戏开发的基本流程,换句话说就是如果将一个3D模型渲染到屏幕上显示出来需要经过那几个步骤?这就是我们经常说的固定流水线和可编程流水线,其中固定流水线是最基本的,可编程流水线主要是将固定流水线中的一些运算放到了GPU中执行。固定流水线包含的知识点如下所示:

第三阶段就是要真正涉及到游戏编程开发了,我们在这里将其分解成多个知识点,开发者要将其分开掌握。需要掌握的知识点如下图所示:

第四阶段告诉读者如何自己去封装一款弱小的引擎,笔者利用业余时间封装过几款3D游戏引擎,为此还写过一本专门介绍引擎封装的书,对于初级程序来说,掌握起来比较容易。书的名字是《手把手教你架构3D游戏引擎》。当然对于市面上比较流行的Unity3d引擎,UE4引擎,它们的知识点绝对不止这些,3D引擎的功能还是非常庞大的,引擎开发的投入也是需要一定的人力和财力。现将书中的主要的知识点给读者展示如下所示:

第五阶段主要是学习图形学编程算法,这也是3D引擎的核心功能,其实做的事情就是把在CPU运行的程序转到了GPU中运行,也就是通常说的可编程流水线。引擎实现的主要是针对场景的后处理渲染,需要读者掌握的知识点如下所示:

最后笔者将自己独立实现的引擎效果图展示给读者,该海水仿真引擎对海水的模拟接近了CG效果。如下图所示:

实时生成水中动态效果

海水仿真的反射和折射效果



捡代码论坛-最全的游戏源码下载技术网站! - 论坛版权郑重声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与捡代码论坛-最全的游戏源码下载技术网站!享有帖子相关版权
3、捡代码论坛版权,详细了解请点击。
4、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
5、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
6、如无法链接失效或侵犯版权,请给我们来信:jiandaima@foxmail.com

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立 即 注 册

本版积分规则

技术支持
在线咨询
QQ咨询
3351529868

QQ|手机版|小黑屋|捡代码论坛-专业源码分享下载 ( 陕ICP备15015195号-1|网站地图

GMT+8, 2024-5-2 07:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表