作品简介

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

徐星

2007年于武汉大学获理学硕士学位。曾从事Mameo、Android等移动操作系统和Chromium浏览器的2D、3D图形系统的开发工作,同时对Fuchsia的底层图形系统也有研究。发表过多篇行业评论文章,如《Google Fuchsia对中国操作系统的启示》等。目前就职于英特尔亚太研发有限公司,从事Chromium浏览器图形系统的开发,是Chromium Committer。

作品目录

  • 作者简介
  • 内容简介
  • 前言
  • 第1章 3D程序分析方法
  • 1.1 输入顶点数据
  • 1.2 输入MVP数据
  • 1.3 输入纹理
  • 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.4 顶点、三角形、片元
  • 2.5 光栅化原语
  • 2.6 视 景 体
  • 2.7 光照模型
  • 小结
  • 第3章 透视投影
  • 3.1 左右手坐标系
  • 3.2 3D坐标和坐标系
  • 3.3 3D流水线
  • 3.4 小孔成像
  • 3.5 模型变换和世界变换的意义
  • 3.6 透视投影的几何模型
  • 3.7 透视投影的透视除法模型
  • 小结
  • 第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.3 纹理映射和纹理坐标
  • 8.4 点原语及其纹理坐标
  • 8.5 网格和纹理映射
  • 小结
  • 第9章 VR枕形畸变
  • 9.1 理想薄凸透镜的放大率
  • 9.2 厚凸透镜的畸变
  • 9.3 畸变校正
  • 小结
  • 第10章 一种特殊的全窗口显示的方法
  • 10.1 三个顶点实现全窗口显示
  • 10.2 0顶点实现全窗口显示
  • 小结
  • 第11章 光线追踪
  • 11.1 正向追踪和逆向追踪
  • 11.2 光线追踪过程
  • 11.3 射线生成
  • 11.4 FOV、像的大小、占屏比
  • 11.5 光线追踪实现远小近大
  • 11.6 光线追踪平面
  • 11.7 光线追踪三角形
  • 11.8 光线追踪球
  • 11.9 光线追踪的阴影实现
  • 11.10 光线追踪和光栅化对比
  • 11.11 示 例
  • 小结
  • 第12章 透视投影的其他应用
  • 12.1 双摄像头立体成像
  • 12.2 延迟渲染
  • 12.3 阴 影
  • 小结
  • 第13章 Skia
  • 13.1 Skia基础
  • 13.2 Skia物体坐标和世界坐标
  • 13.3 Skia纹理坐标
  • 13.4 Skia正交投影
  • 13.5 Skia图像边缘检测
  • 小结
  • 第14章 一种通用的GPU多进程、多线程框架
  • 14.1 资 源
  • 14.2 纹理Mailbox扩展
  • 14.3 同步Sync标记扩展
  • 14.4 资源的生命周期
  • 小结
  • 参考文献
展开全部