- ISBN:9787121495922
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:388
- 出版时间:2025-03-01
- 条形码:9787121495922 ; 978-7-121-49592-2
内容简介
这是一本讲解如何使用Python 进行系统化图形引擎开发的图书。本书基于作者长期从事图形引擎开发工作的经验,结合简单易懂的Python 语言和PyOpenGL 模块,通过对引擎开发知识由浅入深的编排和讲解,让广大对图形学感兴趣的"小白”开发者一步步掌握图形引擎的开发流程和实现原理,并在这个过程中熟练掌握OpenGL,进而有能力基于各种开发语言进行图形引擎的开发工作。 本书结构紧凑、内容翔实、由浅入深,是学习、掌握图形引擎开发入门知识的重要参考书。
目录
目 录
第1章 图形引擎概述 1
1.1 图形引擎发展史 1
1.1.1 卡马克时代 1
1.1.2 UE与Unity 2
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和VAO 18
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 模型LOD 147
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 ShadowMap 204
6.3.3 体积阴影 206
6.4 影子编程实践实现模型的ShadowMap 207
第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 地表LOD 261
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
作者简介
卞安,网名红孩儿,游戏行业知名引擎技术专家,一站式Python开发工具PyMe作者,多年从事游戏引擎和工具化产品的研发及运营工作。曾担任端游企业无限时空引擎总监、触控科技Cocos引擎产品总监、玩吧技术专家组组长。曾独立开发游戏引擎工具化软件《红孩儿工具箱》,并被知名企业投资;撰写了大量游戏引擎技术类文章,其中部分被官方媒体收录,被评为知名游戏引擎Cocos*有价值专家(CVP)及CSDN博客专家,在游戏行业和Python领域有一定的知名度,目前在CSDN担任InsCode AI IDE运营负责人。
-
莫言的奇奇怪怪故事集
¥19.0¥59.9 -
2025读书月阅读盲盒——我独钟意命运角落的人
¥42.3¥168.0 -
悉达多
¥13.0¥28.0 -
2025读书月阅读盲盒——经常作案的朋友都知道
¥42.3¥168.0 -
死魂灵
¥14.0¥48.0 -
中国近代史
¥13.7¥39.8 -
2025读书月阅读盲盒——你以为你以为的就是你以为的吗?
¥42.3¥168.0 -
本森小姐的甲虫
¥15.9¥55.0 -
面纱
¥17.9¥49.8 -
一个陌生女人的来信
¥13.7¥39.8 -
失去一切的人
¥16.6¥52.0 -
诺贝尔文学奖大系-窄门
¥10.9¥31.0 -
罗生门
¥10.0¥36.0 -
事已至此先吃饭吧
¥15.9¥55.0 -
鼠疫
¥12.6¥38.8 -
她们
¥16.0¥46.8 -
1984-插图珍藏版
¥9.9¥29.8 -
鸟与兽的通俗生活
¥12.9¥39.8 -
中国小说史略
¥11.5¥35.0 -
重生
¥12.9¥39.8