内容简介
本书延续了书《GPU精粹》的第1卷,细述了在今天图形处理器(GPU)上的可编程技术。随着GPU进入手机、手持游戏设备和游戏机领域,GPU专业知识在今天的竞争环境中显得更为重要。实时图形程序员会发现用于建立的视觉、管理复杂场景的策划和图像处理技术的算法。读者还会学到一些新方法,把GPU的强大处理能力运用到其他计算密集型程序中,比如科学计算和金融。书中有20章专门讲述GPGPU编程,从基本的概念到技术。本书体供了一些专家撰写的沿的GPU编程技术,为读者介绍了利用GPU巨大功能的实用方法。 涵盖的主题: 几何复杂性 着色、光照和阴影 高质量渲染 GPU的通用计算:初级读本 面向图像的计算 模拟与数值算法
目录
第Ⅰ部分 几何复杂性 第1章 实现照片级真实感的虚拟 植物 5 1.1 场景管理 6 1.1.1 种植栅格 6 1.1.2 种植策略 6 1.1.3 实时优化 7 1.2 草层 7 1.2.1 通过溶解模拟Alpha透明 9 1.2.2 变化 10 1.2.3 光照 11 1.2.4 风 12 1.3 地面杂物层 12 1.4 树和灌木层 13 1.5 阴影 14 1.6 后处理 15 1.6.1 天空圆顶辉散 16 1.6.2 全场景辉光 16 1.7 本章小结 17 参考文献 18 第2章 使用基于GPU几何体剪切图的地形渲染 19 2.1 几何体剪切图简介 19 2.2 GPU实现概览 21 2.2.1 数据结构 22 2.2.2 剪切图大小 22 2.3 渲染 23 2.3.1 活动层 23 2.3.2 顶点和索引缓冲区 23 2.3.3 视锥剪切 24 2.3.4 DrawPrimitive调用 25 2.3.5 顶点着色器 25 2.3.6 像素着色器 27 2.4 更新 28 2.4.1 升采样 28 2.4.2 残差 29 2.4.3 法线图 30 2.5 结果和讨论 30 2.6 本章小结和改进 31 2.6.1 顶点纹理 31 2.6.2 去掉法线图 31 2.6.3 不需要存储空间的地形合成 31 参考文献 31 第3章 几何体实例化的内幕 33 3.1 为什么要对几何体实例化? 34 3.2 定义 34 3.2.1 几何体包 34 3.2.2 实例属性 35 3.2.3 几何体实例 35 3.2.4 渲染和纹理场景 35 3.2.5 几何体批次 36 3.3 实现 37 3.3.1 静态批次 38 3.3.2 动态批次 39 3.3.3 顶点常量实例化 40 3.3.4 几何体实例API批次 43 3.4 本章小结 46 参考文献 48 第4章 分段缓冲 49 4.1 问题空间 49 4.2 解决方案 50 4.3 方法 50 4.3.1 分段缓冲的第一步 50 4.3.2 分段缓冲的第二步 50 4.3.3 分段缓冲的第三步 51 4.4 改进分段缓冲技术 51 4.5 本章小结 51 参考文献 51 第5章 用多流来优化资源管理 53 5.1 概览 53 5.2 实现 55 5.2.1 DirectX 9.0中的多流 55 5.2.2 资源管理 57 5.2.3 处理顶点 59 5.3 本章小结 63 参考文献 63 第6章 让硬件遮挡查询发挥作用 65 6.1 引言 65 6.2 受益于遮挡查询的场景 66 6.3 遮挡裁减 66 6.4 层的停等方法 67 6.4.1 为什么使用层 67 6.4.2 层结构 67 6.4.3 层的算法 68 6.4.4 问题1:停滞 68 6.4.5 问题2:查询的额外开销 68 6.5 一致性层裁减 69 6.5.1 想法1:猜测 69 6.5.2 想法2:提升,提升 70 6.5.3 算法 70 6.5.4 实现细节 71 6.5.5 停滞比较少的原因 73 6.5.6 查询较少的原因 73 6.5.7 如何遍历层 73 6.6 优化 74 6.6.1 用真正的几何体查询 74 6.6.2 只有Z的渲染遍 74 6.6.3 近似的可见性 74 6.6.4 保守的可见性测试 74 6.7 本章小结 75 38.1 通过光栅化的全局照明 440 38.2 聚集简介 441 38.2.1 两遍的方法 441 38.2.2 聚集 441 38.2.3 两遍方法的问题 442 38.3 通过光栅化的聚集 443 38.3.1 聚集光线的聚类 443 38.3.2 光线投射作为多次平行投影 445 38.4 实现细节 446 38.4.1 初始化 446 38.4.2 深度剥离 446 38.4.3 采样 447 38.4.4 性能 447 38.5 GPU上的全局照明渲染器 448 38.5.1 第一遍 448 38.5.2 生成可见点数据 448 38.5.3 第二遍 448 38.5.4 其他解决方案 449 38.6 本章小结 451 参考文献 451 第39章 使用逐步求精辐射度方法的全局照明 453 39.1 辐射度的基础 454 逐步求精 454 39.2 GPU实现 455 39.2.1 使用半球投影的可见性 456 39.2.2 构成因子的计算 458 39.2.3 选择下一个发射者 459 39.3 渐进细分 459 39.3.1 纹理四叉树 459 39.3.2 四叉数细分 460 39.4 性能 460 39.5 本章小结 460 参考文献 461 第40章 GPU上的计算机