新書推薦:
《
《最美故宫》
》
售價:NT$
6620.0
《
《淮南子》中的“治道” ( 壹卷“经典与解释”论丛)
》
售價:NT$
367.0
《
GDPR和生物银行:跨欧洲的个人权利、公共利益和研究监管
》
售價:NT$
449.0
《
南沙:面向世界的科技创新与产业协同枢纽 刘伟 等著 区域经济发展 产业发展 粤港澳大湾区产业协同发展研究丛书
》
售價:NT$
407.0
《
微整形美容实践基础与提升:肉毒毒素、填充剂与皮肤年轻化
》
售價:NT$
1010.0
《
中国琴史(图说经典)清代《四库全书》权威底本 现代白话文全译全解
》
售價:NT$
449.0
《
高效战略领导:让你的战略变为现实
》
售價:NT$
296.0
《
中国近代史的经验与教训——中国近代史研究开山之作!走出悲情,反思过往,看清未来发展之路
》
售價:NT$
305.0
內容簡介:
这是一本讲解如何使用Python 进行系统化图形引擎开发的图书。本书基于作者长期从事图形引擎开发工作的经验,结合简单易懂的Python 语言和PyOpenGL 模块,通过对引擎开发知识由浅入深的编排和讲解,让广大对图形学感兴趣的\小白”开发者一步步掌握图形引擎的开发流程和实现原理,并在这个过程中熟练掌握OpenGL,进而有能力基于各种开发语言进行图形引擎的开发工作。 本书结构紧凑、内容翔实、由浅入深,是学习、掌握图形引擎开发入门知识的重要参考书。
關於作者:
卞安,网名红孩儿,游戏行业知名引擎技术专家,一站式Python开发工具PyMe作者,多年从事游戏引擎和工具化产品的研发及运营工作。曾担任端游企业无限时空引擎总监、触控科技Cocos引擎产品总监、玩吧技术专家组组长。曾独立开发游戏引擎工具化软件《红孩儿工具箱》,并被知名企业投资;撰写了大量游戏引擎技术类文章,其中部分被官方媒体收录,被评为知名游戏引擎Cocos最有价值专家(CVP)及CSDN博客专家,在游戏行业和Python领域有一定的知名度,目前在CSDN担任InsCode AI IDE运营负责人。
目錄 :
目 录
第1章 图形引擎概述1
1.1 图形引擎发展史1
1.1.1 卡马克时代1
1.1.2 UE与Unity2
1.1.3 国产引擎的发展4
1.2 从Python编程开始7
1.2.1 PyOpenGL开发环境搭建7
1.2.2 引擎工具开发11
第2章 引擎开发理论入门13
2.1 基本的OpenGL渲染流程13
2.1.1 认识渲染管线13
2.1.2 图形编程过程原理14
2.2 认识顶点与索引缓冲区16
2.2.1 顶点——世界的起点16
2.2.2 VBO、IBO和VAO18
2.3 认识屏幕缓冲区21
2.3.1 屏幕缓冲区21
2.3.2 逻辑缓冲区22
2.4 认识颜色与纹理23
2.4.1 颜色与像素23
2.4.2 纹理的本质25
2.4.3 图片的使用30
2.4.4 纹理混合32
2.5 向量、矩阵与四元数34
2.5.1 向量34
2.5.2 矩阵基本运算35
2.5.3 四元数39
2.5.4 MVP矩阵与3D成像39
2.6 认识摄像机41
2.6.1 正交与投影41
2.6.2 摄像机控制42
2.7 基本图形绘制43
2.7.1 绘制一个点43
2.7.2 绘制一条线45
2.7.3 绘制三角形与四边形47
2.7.4 绘制一个立方体50
第3章 Shader入门与实践56
3.1 GLSL语法入门56
3.1.1 GLSL基本流程56
3.1.2 GLSL基本语法57
3.2 GLSL 2D图效处理实践63
3.2.1 基本颜色处理63
3.2.2 过滤器效果70
3.2.3 过渡变化效果72
3.3 GLSL 3D图效处理实践85
3.3.1 基本顶点动画85
3.3.2 基本材质处理93
3.3.3 简单雾效实现103
第4章 动画原理与实践111
4.1 动画的基本原理111
4.1.1 序列帧动画111
4.1.2 插值动画113
4.1.3 摄像机动画122
4.1.4 骨骼蒙皮动画127
4.2 动画过程实践130
播放序列帧动画130
第5章 模型原理与实践138
5.1 认识模型138
5.1.1 模型与材质138
5.1.2 骨骼模型143
5.1.3 动作的融合与混合145
5.1.4 模型LOD147
5.2 模型解析实践148
5.2.1 加载OBJ模型148
5.2.2 加载FBX模型155
5.2.3 加载PMM模型168
5.3 模型观察器171
5.3.1 工具界面设计与实现171
5.3.2 模型的加载处理175
5.3.3 观察摄像机控制178
5.3.4 模型材质编辑180
5.3.5 骨骼与动画184
第6章 认识光和影186
6.1 光照原理入门186
6.1.1 基础光照模型186
6.1.2 延迟光照原理194
6.2 光照编程实践动态点光源197
6.3 影子原理入门202
6.3.1 面片影子203
6.3.2 ShadowMap204
6.3.3 体积阴影206
6.4 影子编程实践实现模型的ShadowMap207
第7章 粒子系统入门215
7.1 粒子系统原理215
7.1.1 粒子的基本结构215
7.1.2 粒子发射器217
7.2 粒子系统编程实践221
7.2.1 点精灵粒子:下雪啦!221
7.2.2 模型粒子:彩球发射器223
7.3 粒子编辑器入门227
7.3.1 编辑器的界面实现227
7.3.2 粒子效果编辑233
7.3.3 效果加载与保存235
第8章 场景渲染入门238
8.1 天空渲染238
8.1.1 天空盒238
8.1.2 公告板云240
8.1.3 场景雾的渲染241
8.1.4 风、雨、雪242
8.2 地表渲染245
8.2.1 认识地表网格245
8.2.2 高度图252
8.2.3 多纹理混合257
8.2.4 地表LOD261
8.3 水面渲染264
8.3.1 水体的生成264
8.3.2 反射与折射268
8.3.3 波浪动画268
8.4 植被与建筑271
8.4.1 草体渲染272
8.4.2 树木与建筑277
8.5 场景编辑器288
8.5.1 编辑器的界面框架288
8.5.2 地表编辑290
8.5.3 模型摆放299
8.5.4 特效摆放302
8.5.5 环境设置302
8.5.6 光照烘焙302
8.5.7 场景保存与加载303
第9章 画面后期效果306
9.1 后期效果基本原理306
9.2 后期效果实践308
第10章 UI系统入门312
10.1 UI系统设计原理312
10.1.1 基本控件设计312
10.1.2 鼠标事件处理323
10.1.3 复合控件设计329
10.1.4 文字输入处理335
10.2 UI系统编程实践编写一个简单的登录界面340
10.3 UI编辑器入门344
10.3.1 编辑器界面设计345
10.3.2 控件的创建347
10.3.3 控件的选中与拖动353
10.3.4 控件列表与属性编辑357
10.3.5 界面保存与加载364
第11章 图形引擎设计与优化370
11.1 框架设计一个简单的图形引擎框架370
11.2 无尽的优化371
11.2.1 模型批次371
11.2.2 顶点优化373
11.2.3 纹理优化373
11.2.4 渲染状态优化374
11.2.5 Shader优化374
11.2.6 计算压力优化374
11.2.7 UI渲染优化374
11.2.8 设计优化375
附录A 小白的成长路线376