第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.6TensorFlow JS的输入输出 1.7Vulkan的输入输出 1.8GL和Vulkan的线程模型 1.9源码下载和编译 小结 第2章3D图形学基础 2.1符号和约定 2.2向量的基本运算 2.3齐次坐标 2.3.14×4齐次矩阵 2.3.2平行线相交 2.4顶点、三角形、片元 2.5光栅化原语 2.6视景体 2.7光照模型 小结 第3章透视投影 3.1左右手坐标系 3.23D坐标和坐标系 3.33D流水线 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.5FOV表示透视投影矩阵 3.7.6真实深度 小结 第4章视图变换和眼睛坐标系 4.1平移 4.2旋转 4.3视图变换矩阵 4.4示例 小结 第5章正交投影 5.1坐标系和坐标变换 5.2正交投影变换 小结 第6章视口变换 6.1NDC到窗口的变换 6.2NDC到[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.1Blender介绍 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.20顶点实现全窗口显示 小结 第11章光线追踪 11.1正向追踪和逆向追踪 11.2光线追踪过程 11.3射线生成 11.4FOV、像的大小、占屏比 11.5光线追踪实现远小近大 11.6光线追踪平面 11.6.1射线和平面的关系 11.6.2射线和平面相交的实现 11.6.3Skybox 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.1Skia基础 13.1.1常用接口 13.1.2Skia矩阵 13.1.3测试方法 13.2Skia物体坐标和世界坐标 13.2.1物体坐标 13.2.2模型变换 13.3Skia纹理坐标 13.3.1顶点坐标不包含模型变换 13.3.2顶点坐标包含模型变换 13.4Skia正交投影 13.4.1正交投影 13.4.2窗口映射 13.4.3窗口映射对原点的影响 13.5Skia图像边缘检测 13.5.1Sobel算子 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删除资源 小结 参考文献