从“1”开始3D编程

从“1”开始3D编程

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

解析3D世界坐标、透视投影模型及高级编程概念。

内容简介

本书推导解释了3D世界的1的具体含义,包括3D编程最常使用的5个坐标1的意义。对于透视投影的3D坐标1,推导了用户使用的透视投影变换。原创性地提出了一个透视投影的一般模型。基于这个一般模型做了一些数学算法上的改进,得到了基于透视除法的透视投影。此外,也分析了模型视图变换,窗口变换,纹理映射等对3D世界的1的影响。对于正交投影,则分析了基于正交投影的Skia的顶点坐标,纹理坐标特点,一些高级的3D编程概念如光线追踪,延迟渲染,阴影纹理等。

章节目录

封面页

书名页

版权页

作者简介

内容简介

前言

目录

第1章 3D程序分析方法

1.1 输入顶点数据

1.1.1 描述顶点

1.1.2 传递顶点

1.1.3 绑定顶点缓冲区

1.2 输入MVP数据

1.3 输入纹理

1.3.1 创建并传递纹理

1.3.2 绑定纹理

1.4 输出帧缓冲

1.5 数据处理过程

1.6 TensorFlow JS的输入输出

1.7 Vulkan的输入输出

1.8 GL和Vulkan的线程模型

1.9 源码下载和编译

小结

第2章 3D图形学基础

2.1 符号和约定

2.2 向量的基本运算

2.3 齐次坐标

2.3.1 4×4齐次矩阵

2.3.2 平行线相交

2.4 顶点、三角形、片元

2.5 光栅化原语

2.6 视 景 体

2.7 光照模型

小结

第3章 透视投影

3.1 左右手坐标系

3.2 3D坐标和坐标系

3.3 3D流水线

3.4 小孔成像

3.5 模型变换和世界变换的意义

3.6 透视投影的几何模型

3.6.1 眼睛坐标到投影坐标

3.6.2 投影坐标到NDC坐标——xy分量

3.6.3 眼睛坐标到NDC坐标——xy分量

3.6.4 眼睛坐标到NDC坐标——z分量

3.6.5 裁剪

3.6.6 透视投影的几何模型

3.6.7 几何模型的算法分析

3.7 透视投影的透视除法模型

3.7.1 眼睛坐标到裁剪坐标——xy分量

3.7.2 眼睛坐标到NDC坐标——zw分量

3.7.3 透视除法

3.7.4 裁剪

3.7.5 FOV表示透视投影矩阵

3.7.6 真实深度

小结

第4章 视图变换和眼睛坐标系

4.1 平 移

4.2 旋 转

4.3 视图变换矩阵

4.4 示 例

小结

第5章 正交投影

5.1 坐标系和坐标变换

5.2 正交投影变换

小结

第6章 视口变换

6.1 NDC到窗口的变换

6.2 NDC到[0,1]的变换

小结

第7章 3D顶点——3D世界的1

7.1 眼睛坐标

7.2 正交投影

7.3 透视投影

小结

第8章 纹理坐标

8.1 像素和多重采样

8.2 三角形插值

8.2.1 最近距离法

8.2.2 加权距离法

8.2.3 重心坐标法

8.3 纹理映射和纹理坐标

8.3.1 环绕模式

8.3.2 非全窗口输出

8.3.3 全窗口输出:NDC顶点坐标1,uv小于1

8.3.4 全窗口输出:NDC顶点坐标1,uv大于1

8.3.5 非归一化的纹理坐标

8.4 点原语及其纹理坐标

8.5 网格和纹理映射

8.5.1 Blender介绍

8.5.2 平面纹理映射

8.5.3 球体纹理映射

小结

第9章 VR枕形畸变

9.1 理想薄凸透镜的放大率

9.2 厚凸透镜的畸变

9.2.1 厚凸透镜的基点和焦距公式

9.2.2 厚凸透镜的畸变

9.2.3 厚凸透镜放大率的泰勒级数

9.3 畸变校正

9.3.1 像差畸变校正

9.3.2 像比例畸变校正

小结

第10章 一种特殊的全窗口显示的方法

10.1 三个顶点实现全窗口显示

10.2 0顶点实现全窗口显示

小结

第11章 光线追踪

11.1 正向追踪和逆向追踪

11.2 光线追踪过程

11.3 射线生成

11.4 FOV、像的大小、占屏比

11.5 光线追踪实现远小近大

11.6 光线追踪平面

11.6.1 射线和平面的关系

11.6.2 射线和平面相交的实现

11.6.3 Skybox

11.7 光线追踪三角形

11.7.1 射线和三角形的相交

11.7.2 光线追踪三角形实现

11.8 光线追踪球

11.8.1 射线和球的相交

11.8.2 光照计算

11.8.3 光线追踪的1

11.9 光线追踪的阴影实现

11.10 光线追踪和光栅化对比

11.11 示 例

小结

第12章 透视投影的其他应用

12.1 双摄像头立体成像

12.2 延迟渲染

12.2.1 深度测试剔除所有被遮挡的点

12.2.2 示例

12.3 阴 影

12.3.1 生成最近深度纹理

12.3.2 使用深度纹理

12.3.3 示例

小结

第13章 Skia

13.1 Skia基础

13.1.1 常用接口

13.1.2 Skia矩阵

13.1.3 测试方法

13.2 Skia物体坐标和世界坐标

13.2.1 物体坐标

13.2.2 模型变换

13.3 Skia纹理坐标

13.3.1 顶点坐标不包含模型变换

13.3.2 顶点坐标包含模型变换

13.4 Skia正交投影

13.4.1 正交投影

13.4.2 窗口映射

13.4.3 窗口映射对原点的影响

13.5 Skia图像边缘检测

13.5.1 Sobel算子

13.5.2 实现边缘检测

小结

第14章 一种通用的GPU多进程、多线程框架

14.1 资 源

14.2 纹理Mailbox扩展

14.3 同步Sync标记扩展

14.4 资源的生命周期

14.4.1 显示客户端生产资源

14.4.2 显示客户端到显示合成器的IPC

14.4.3 显示合成器使用资源

14.4.4 删除资源

小结

参考文献

从“1”开始3D编程是2020年由清华大学出版社出版,作者徐星。

得书感谢您对《从“1”开始3D编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Producter:让产品从0到1 电子书
这是一本以实际的成功App为例阐述如何完成一款App产品的设计、开发和营销的书。本书从产品的设计、产品的实现、产品的迭代、产品的营销、产品的进阶等几个角度,全面讲解了产品设计的基本原则、设计的重要性、设计的感觉、实用的设计工具、简单的iOS开发、产品营销理念和文案基础、动画效果的实现等内容。此外,本书以《小记》这款有代表性的App产品为例,完整还原了一款产品从想法到设计,到编码实现,到上架发布,再
从0到1:jQuery快速上手 电子书
本书分为14章,前10章主要介绍jQuery的基本技术,包括常用选择器、DOM操作、事件操作、jQuery动画、过滤方法、查找方法等;后4章主要介绍jQuery的进阶技巧,包括工具函数、开发插件、Ajax操作以及高级技巧。
PyQt编程快速上手:PythonGUI开发从入门到实践 电子书
PyQt实用工具书,帮助读者快速上手功能强大的开发工具,轻松掌握GUI开发技巧,创建各式各样的桌面程序。
从0到1:Python数据分析 电子书
本书详尽介绍了Pytho数据分析的基础知识,以及开发技巧。
自制编程语言 电子书
适读人群 :适合对编译原理及语言处理器设计有兴趣的读者以及正在学习相关课程的大中专院校学生。 前百度高 级工程师、专业书《操作系统真相还原》的作者的又一力作 业界专家联名推荐 滴滴系统部技术高 级总监于晓声 阿里巴巴蚂蚁金服技术专家肖金亮 百度资 深运维工程师陈晓聪 360企业安全集团政企云事业部技术总监冯顾 ACFUN高 级运维总监陆景玉 Mobvista运维总监黄梦溪 手把手地教读者从零去实现一门语言,从原理到实践事无巨细 每一步都有实际的代码和详尽的原理说明,读者可以很轻松地掌握各个实现细节 实现脚本语言重要的垃圾回收(GC)、虚拟机(VM)和线程等黑技术都在本书一一呈现