展开全部

主编推荐语

游戏引擎高级技术解析:动画、渲染、多线程等

内容简介

本书主要讲解游戏引擎中的动画、渲染、多线程等高级技术。主要内容包括骨骼蒙皮模型与动画基础,动画播放和插槽,动画的混合,变形动画的混合,逆向动力学,角色,光照渲染的进化史,如何设计一个高效的渲染器,材质系统,渲染流程架构,光照和材质的关系,后期效果,常用阴影方法,多线程技术,动态缓冲区和性能分析器。本书有助于读者提升游戏引擎的开发水平。本书要求读者熟练掌握C++、数据结构、基本3D知识、常用的设计模式,以及具备多线程的基础知识。本书适合游戏开发人员阅读。

目录

  • 版权信息
  • 内容提要
  • 前言
  • 写作本书的缘由
  • 本书内容
  • 本书特色
  • 读者对象
  • 资源支持
  • 致谢
  • 第1章 骨骼蒙皮模型与动画基础
  • 1.1 蒙皮模型与动画原理
  • 1.1.1 骨骼
  • 1.1.2 蒙皮模型
  • 1.1.3 动作
  • 1.2 蒙皮模型架构
  • 1.3 FBX蒙皮模型导入
  • 1.3.1 骨架处理
  • 1.3.2 蒙皮矩阵
  • 1.3.3 拆分模型
  • 1.3.4 权重信息
  • 1.3.5 计算最终骨骼矩阵
  • 1.3.6 计算骨架和骨骼模型的包围盒
  • 1.4 FBX动画导入
  • 1.4.1 游戏引擎中的动画数据结构
  • 1.4.2 从FBX导入游戏引擎格式
  • 1.4.3 动画数据压缩
  • 1.4.4 把动画导入角色动画集合
  • 示例
  • 示例1.1
  • 示例1.2
  • 第2章 动画播放与插槽
  • 2.1 动画控制
  • 2.1.1 控制相机
  • 2.1.2 播放动画
  • 2.1.3 根骨动画
  • 2.1.4 根据动画数据计算骨架包围盒
  • 2.2 插槽
  • 练习
  • 示例
  • 示例2.1
  • 示例2.2
  • 示例2.3
  • 示例2.4
  • 第3章 动画混合
  • 3.1 动画树架构
  • 3.2 一个参数的动画混合
  • 3.3 动画过渡
  • 3.4 两个参数的动画混合
  • 3.5 叠加动画
  • 3.6 部分混合动画
  • 3.7 动画树实例详解
  • 练习
  • 示例
  • 示例3.1
  • 示例3.2
  • 示例3.3
  • 示例3.4
  • 示例3.5
  • 示例3.6
  • 示例3.7
  • 示例3.8
  • 示例3.9
  • 示例3.10
  • 示例3.11
  • 示例3.12
  • 示例3.13
  • 示例3.14
  • 示例3.15
  • 示例3.16
  • 示例3.17
  • 示例3.18
  • 第4章 变形动画混合
  • 4.1 变形动画
  • 4.2 FBX变形动画导入引擎
  • 4.3 变形动画树架构
  • 4.4 一个参数的变形动画混合
  • 练习
  • 示例
  • 示例4.1
  • 示例4.2
  • 示例4.3
  • 示例4.4
  • 第5章 IK与角色
  • 5.1 IK*
  • 5.2 多姿多彩的角色*
  • 练习
  • 第6章 光照渲染的发展史
  • 6.1 前向渲染
  • 6.2 延迟渲染
  • 6.3 延迟光照
  • 6.4 基于块的延迟渲染
  • 6.5 前向增强渲染
  • 6.6 总结
  • 示例
  • 示例6.1
  • 第7章 渲染器接口
  • 7.1 渲染资源
  • 7.1.1 VSBind
  • 7.1.2 VSBlendState
  • 7.1.3 VSDepthStencilState
  • 7.1.4 VSSamplerState
  • 7.1.5 VSRasterizerState
  • 7.1.6 VSRenderState
  • 7.1.7 VSTexture
  • 7.1.8 VSRenderTarget
  • 7.1.9 VSDepthStencil
  • 7.1.10 VSDataBuffer
  • 7.1.11 VSIndexBuffer
  • 7.1.12 VSVertexFormat
  • 7.1.13 VSVertexBuffer
  • 7.1.14 VSShader
  • 7.2 渲染器
  • 7.2.1 显卡特性信息
  • 7.2.2 初始化与窗口信息
  • 7.2.3 资源设置加载与销毁
  • 7.2.4 渲染接口
  • 7.2.5 其他管理接口
  • 第8章 材质
  • 8.1 材质与着色器
  • 8.1.1 着色器编译与参数传递
  • 8.1.2 着色器键
  • 8.1.3 着色器映射表与着色器缓存
  • 8.1.4 基于自定义文件的材质
  • 8.1.5 基于节点的材质
  • 8.1.6 材质实例
  • 8.1.7 渲染通道
  • 8.2 材质树
  • 8.2.1 图形节点表达式组合与拆解
  • 8.2.2 图形节点类
  • 8.2.3 生成遍历图形节点的代码
  • 8.2.4 着色器组成与剖析
  • 8.2.5 图形节点类型
  • 8.2.6 顶点着色器代码生成
  • 8.2.7 像素着色器代码生成
  • 8.2.8 着色器中自定义变量设置
  • 练习
  • 第9章 流程渲染架构
  • 9.1 渲染队列
  • 9.2 VSSceneRender
  • 9.3 渲染目标和深度模板管理
  • 9.4 VSRenderMethod与VSViewFamily
  • 第10章 光照与材质
  • 10.1 VSMaterialSceneRender
  • 10.2 VSIndirectRenderPass
  • 10.3 VSMaterialPass
  • 10.4 自定义光照
  • 10.5 光源投射函数
  • 练习
  • 示例
  • 示例10.1
  • 示例10.2
  • 示例10.3
  • 示例10.4
  • 示例10.5
  • 示例10.6
  • 示例10.7
  • 示例10.8
  • 示例10.9
  • 示例10.10
  • 示例10.11
  • 示例10.12
  • 示例10.13
  • 示例10.14
  • 示例10.15
  • 示例10.16
  • 示例10.17
  • 示例10.18
  • 第11章 后期效果
  • 11.1 VSPostEffectSceneRender
  • 11.2 后期效果集合
  • 11.3 后期材质效果
  • 示例
  • 示例11.1
  • 示例11.2
  • 示例11.3
  • 第12章 阴影
  • 12.1 引言
  • 12.2 阴影映射
  • 1.聚光灯
  • 2.方向光
  • 3.点光源
  • 4.材质中加入阴影处理
  • 12.3 CSM
  • 12.4 阴影体
  • 12.5 投射体阴影
  • 1.聚光灯
  • 2.点光源
  • 3.方向光
  • 12.6 双剖面阴影映射
  • 示例
  • 示例12.1
  • 示例12.2
  • 示例12.3
  • 示例12.4
  • 示例12.5
  • 示例12.6
  • 示例12.7
  • 示例12.8
  • 示例12.9
  • 示例12.10
  • 示例12.11
  • 示例12.12
  • 第13章 多线程
  • 13.1 操作系统中的PV操作
  • 13.2 Windows系统中关于线程的API
  • 1.关键区
  • 2.信号量
  • 3.互斥量
  • 4.事件
  • 13.3 异步加载
  • 13.4 多线程更新
  • 13.4.1 游戏中代码多线程化的常规方法
  • 13.4.2 一种渲染用的多线程更新架构
  • 13.4.3 基于Unreal Engine Command实现多线程命令分发
  • 13.4.4 多线程更新框架
  • 13.4.5 封装组件到多线程中
  • 13.5 多线程渲染
  • 13.5.1 多线程渲染框架
  • 13.5.2 真正要处理的问题
  • 1.不是线程安全的代码是否可以在多线程下执行
  • 2.如何处理锁缓存
  • 3.如果主线程删除资源,而渲染线程还在用这个资源,该怎么办?
  • 4.设备丢失问题
  • 13.5.3 封装渲染命令
  • 13.5.4 小结
  • 13.6 纹理流式加载*
  • 13.6.1 线程架构
  • 13.6.2 最大Mip层级计算
  • 13.7 着色器缓存编译*
  • 13.7.1 材质树编译
  • 13.7.2 自定义文件格式
  • 13.7.3 检测着色器改变
  • 13.7.4 多进程编译着色器
  • 13.8 编辑器资源热更新
  • 练习
  • 示例
  • 示例13.1
  • 示例13.2
  • 示例13.3
  • 示例13.4
  • 示例13.5
  • 示例13.6
  • 示例13.7
  • 第14章 动态缓冲区与性能分析器
  • 14.1 动态缓冲区
  • 14.2 性能分析器
  • 练习
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。