对于像学习游戏引擎原理的人来说,需要制定自己明确的长期目标:

1) 首先,一开始可能对游戏引擎没什么概念,建议先使用一两个游戏引擎(我推荐C++程序员学习虚幻4游戏引擎,现在是免费开源的,非常值得学习。那些不开源的游戏引擎尽量不要去学习,因为其对于学习原理来说没有多大贡献)。

2) 因为游戏开发就是一门实时渲染的艺术,所以离不开图形库的学习。现在主流的图形库是Windows平台专用的DirectX 11和通用平台的Opengl。这两个图形库,至少需要入门其中一个。

3) 然后,你就可以开始看计算机图形学的书籍了。如果你发现你的理论底子不足,这个时候就需要补一下线性代数、基本的微积分、还有3D数学的知识。

4) 游戏引擎中包含了各个部分,上面的渲染只是游戏引擎的一部分。还有其它诸如着色器编写、地形编写、物理引擎编写、模型和动画、人工智能体设计、网络编程等等,完成渲染部分的基本学习后,你可以选择自己感兴趣的部分进行专攻,毕竟我们实际工作大多数时候是团队开发,而不是单打独斗,每个人都应该精通自己所擅长的那部分。

这里为了文章的紧凑性,我将游戏引擎的基础理论知识和各个引擎组件的推荐书籍放到了文章的附录处。

下表是基础理论知识和游戏引擎组件书籍推荐(不必全看,请有选择地阅读):

1) 数学基础

下面这些数学基础书籍是为游戏开发量身定制的,比专门看某一数学方向更有效率:

  • 《3D Math Primer for Graphics and Game Development》,有中文版
  • 《Mathematics for 3D Game Programming and Computer Graphics》
  • 《Essential Mathematics Guide》
  • 《Geometric Tools for Computer Graphics》

2) 图形库

针对 DirectX 的书籍:

  • 《Introduction to 3D Game Programming with DirectX 11》,大名鼎鼎的龙书,入门必看的
  • 《Practical Rendering and Computation with Direct3D 11》,进阶
  • 《Real-Time 3D Rendering with DirectX and HLSL》

针对 OpengGL 的书籍:

  • 《OpenGL SuperBible》,著名的蓝宝书,以例子为主,有中文版。但不建议看中文版,翻译得不好。
  • 《OpenGL Programming Guide》,著名的红宝书,有中文版。红宝书更像是手册,API大全,例子较少,适合熟练者查询使用。
  • 《OpenGL 4.0 Shading Language Cookbook》,进阶,基本上就是API手册,有中文版。但不建议看中文版,翻译得不好。

3) 计算机图形学

  • 《The Nature of Code》,有中文版,比较简单
  • 《Fundamentals of Computer Graphics》,被国外多所大学采用的入门教材,介绍范围比较广,从基本的相关数学到建模、渲染、动画、应用方面都有提及
  • 《Physically Based Rendering》,主要是离线渲染
  • 《Real-Time-Rendering》,必读经典!必读!
  • 《计算机图形学》,作者舍利
  • 《Computer Graphics》,要看最新的第三版
  • 《计算机图形学原理及实践:C语言描述》

4) Shader着色器

  • 《Cg_tutorial》,入门
  • 《The Complete Effect and HLSL Guide》,入门
  • 《Shaders for Game Programmers and Artists》,含有大量入门例子
  • 《Advanced Lighting And Materials With Shaders》,介绍光照模型和技术
  • 《GPU Gems》进阶必读。
  • 《Shader X》系列,每年出版一本,包含最新的实时渲染技术。论文性的比较多,偏难。
  • 《Programming Vertex, Geometry, and Pixel Shaders》,以DirectX 10为主,很详细。

5) 地形

《Real Time 3D Terrain Engines Using C++ And DX9》非常全面的讨论了关于地形渲染的各种技术。

6) 模型导入和动画

  • 《Character Animation With Direct3D》包含了最新的游戏动画技术
  • 《Computer Animation》
  • 《Real-Time Cameras》
  • 《Computer Facial Animation》
  • 《Realtime 3D Character Animation with Visual C++》
  • 《Advanced Animation and Rendering Techniques》
  • 《Cloth Modeling and Animation》

7) 网络

  • 《TCP/IP 详解 卷2》
  • 《Network Programming for Microsoft Windows》
  • 《Advanced Programming in the UNIX Environment》
  • 《Windows核心编程》
  • 《Multithreading applications in Win32》
  • 《网络游戏核心技术与实战》

8) 物理

  • 《Game Physics》
  • 《Game Physics Engine Development》
  • 《Real-time Collision Detection》,碰撞检测方面最好的书
  • 《3D Game Engine Design, 2nd》第8、9章值得一看

9) 细节层次

《Level of Detail for 3D Graphics》

10) 光线跟踪

  • 《Physical-Based Rendering - From Theory to Implementation》
  • 《Another Introduction to Ray Tracing》

11) 人工智能

  • 《Programming Game AI by Example》有中文版
  • 《Artificial Intelligence for Games》
  • 《AI Programming Wisdom》
  • 《AI Game Engine Programming》

12) 综合

    • 《Game Programming Gems》,文章的范围比较广,选择性阅读
    • 《Color and Light in Nature》
    • 《Digital Design of Nature》
    • 《Form+Code in Design, Art, and Architecture》
  • 一下这张图片非原创,出自:作者星铃丹,授权发布,转载请注明出处。写的非常详细,拿出来和大家分享下!
  • 引用:http://gad.qq.com/article/detail/7193648?sessionUserType=BFT.PARAMS.214566.TASKID&ADUIN=1318446093&ADSESSION=1490248132&ADTAG=CLIENT.QQ.5497_.0&ADPUBNO=26661

游戏开发学习路线——游戏引擎原理相关推荐

  1. 游戏开发学习路线(需要学什么)

    游戏开发需要学什么(学习路线图分享)?相信这是很多准备入行的同学都想了解的问题.那么首先我们要先了解什么是游戏开发. 中小型游戏大致可分为网页游戏,flash游戏,小游戏等,基本上都是一些休闲类的傻呆 ...

  2. Android游戏开发学习路线

    要想使学习Android游戏开发道路平缓,有以下几条建议: 1.反复阅读<Thinking In Java>即<Java编程思想>,反复练习,透彻理解Java语言特性,打牢Ja ...

  3. 【Unity】1.3 Unity3D游戏开发学习路线

    一.基本思路 第1步--了解编辑器 首先了解unity3d的菜单,视图界面.这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用就可以了.当然还要了解人物 ...

  4. Unity游戏开发学习路线:游戏开发那些事~

    随着3D技术的不断成熟,游戏开始从2D向3D转变.现在Unity大行其道,正在开启游戏的3D化时代.根据权威部门统计,50%的Unity3D开发者工作年限在2年之内,45%开发者工作年限在2到5年,平 ...

  5. 游戏开发学习路线--书籍

  6. 安卓游戏开发用什么引擎_游戏开发学习第一天————用什么软件

    今天开始了虚幻学习的第一天! 好的,那我们就开始学习做游戏吧! 始学习做游戏吧 学习做游戏吧 习做游戏吧 做游戏吧 游戏吧 戏吧 吧 等等,要学做游戏啊...... 第一步要做什么,我还完全不知道啊喂 ...

  7. 游戏开发学习路线图(2023最新版)建议收藏

    游戏开发是一个高度技术化的领域,需要掌握编程语言和编程技能.你可以从学习基本的编程概念和语法开始,如C++.C#.Python等常用的游戏编程语言.掌握编程的基础知识是游戏开发的基石.很多小伙伴不知道 ...

  8. 王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性

    海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性 发表于2012-09-07 17:24| 12534次阅读| 来源CSDN整理| 0 条评论| 作者杨依帆 游戏开发Unity游戏引擎王楠 ...

  9. 2019游戏开发学习路线图

    做游戏开发要学什么?2019游戏开发学习路线图分享给大家: 如果你想日后在这个行业里成为真正的高手,那就真的需要去下一番苦心,不管你大学里数学学得好不好,你挂了多少门,一定要学好3D数学,这是制作3D ...

  10. 七巧板平台html5游戏开发之初识物理引擎

    七巧板平台html5游戏开发之初识物理引擎 七巧板平台是用于Web App.中轻度HTML5游戏及富媒体类应用开发,集开发.运营于一体的平台.它基于HTML5技术开发,具有进入门槛极低.开发极简单.跨 ...

最新文章

  1. c语言 如何读多种数据类型 非类,c语言程序设计教学大纲(非电气类)文档.doc
  2. 编译内核指定模块,筛选当前模块依赖的组件
  3. jsp判断语句_Java的web展现层JSP的JSTL标签详细总结
  4. mysqld服务器系统变量和状态变量
  5. matlab 保存变量到txt,Matlab中.mat数据某变量保存为txt | 学步园
  6. 中国爬虫违法违规案例汇总
  7. ansible备份mysql_ansible做mysql备份和安全加固
  8. 数据产品经理的5大阶段和6步作战模型
  9. gitee图床不能用了,心态崩了
  10. mysql大数据量分页的一些做法
  11. 宝塔Linux 8888 进不去
  12. Android手机模拟器如何把语言设置为中文
  13. python 百度ai json解析_百度AI识别调用的简单例子
  14. Flink 1.10 SQL、HiveCatalog 与事件时间整合示例
  15. 病毒分析之伪装360主动防御病毒分析_XiaoBa-20
  16. 了解NLP(自然语言处理)技术
  17. 易基因 | 文献速递:重亚硫酸盐扩增子测序研究通过DNA甲基化监测急性髓系白血病MRD
  18. windows主机和虚拟机设置桥接
  19. countifs函数怎么用,excel函数的操作步骤
  20. 动态规划——最长湍流子数组

热门文章

  1. pycharm无法import本地安装好的第三方库问题
  2. android 气泡尖角边框,CSS3制作的带阴影效果的尖角气泡框效果
  3. android上如何多开微信,手机微信多开怎么弄 安卓手机微信多开教程
  4. 原生android ui设计,在拟物和扁平之间寻找平衡:原生安卓UI设计进化史
  5. 手把手教你使用R语言绘制交互效应的森林图
  6. 计量模型 | 固定效应与交互固定效应
  7. 服务器gpu芯片排行,GPU云服务器排行榜
  8. iphone的照片如何同步到mac
  9. C# 打开CMD窗口并执行CMD 指令
  10. skype安卓手机版_安卓手机版电视直播播放器