文件名称:
GPU精粹2:高性能图形芯片和通用计算编程技...part1.rar
开发工具:
文件大小: 59mb
下载次数: 0
上传时间: 2012-02-07
详细说明: 本书目录 第Ⅰ部分 几何复杂性 第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上的计算机视觉 463 40.1 引言 463 40.2 实现框架 463 40.3 应用示例 464 40.3.1 把一系列片段程序用于计算机视觉 464 40.3.2 求和操作 467 40.3.3 创建全景照片的方程组 469 40.3.4 特征向量的计算 471 40.4 并行计算机视觉处理 473 40.5 本章小结 474 参考文献 474 第41章 延迟过滤:困难数据格式的渲染 477 41.1 引言 477 41.2 为什么要延迟 478 41.3 延迟过滤算法 479 41.4 为什么它可以工作 481 41.5 本章小结:何时延迟 481 参考文献 482 第42章 保守光栅化 485 42.1 问题定义 486 42.2 两种保守算法 487 42.2.1 剪切空间 487 42.2.2 第一种算法 488 42.2.3 第二种算法 489 42.3 鲁棒性问题 492 42.4 保守深度 492 42.5 结果和本章小结 493 参考文献 494 第Ⅵ部分 模拟与数值算法 第43章 蛋白质结构预测的GPU计算 497 43.1 介绍 497 43.2 Floyd-Warshall算法以及绑定距离的平滑 498 43.3 GPU实现 499 43.3.1 动态更新 499 43.3.2 数据纹理的索引 499 43.3.3 三角形划分 500 43.3.4 向量化 500 43.4 试验结果 501 43.5 本章小结和工作展望 502 参考文献 502 第44章 用于解线性方程组的GPU框架 505 44.1 概述 505 44.2 表示 506 44.2.1 “单浮点”的表示 506 44.2.2 向量 506 44.2.3 矩阵 507 44.3 运算 509 44.3.1 向量运算 509 44.3.2 向量缩减 509 44.3.3 矩阵与向量的积 510 44.3.4 把所有的组合起来 511 44.3.5 共轭梯度求解器 511 44.4 一个偏微分方程的例子 512 44.5 本章小结 515 参考文献 516 第45章 GPU上的期权定价 517 45.1 期权概述 517 45.2 Black-Scholes模型 518 45.3 Lattice模型 521 45.3.1 二项模型 521 45.3.2 欧式期权定价 522 45.4 本章小结 525 参考文献 526 第46章 改进的GPU排序 527 46.1 排序算法 527 46.2 一种简单的方法 528 46.3 快速排序 529 46.3.1 实现奇偶合并排序 529 46.4 使用所有的GPU资源 531 46.5 本章小结 535 参考文献 536 第47章 复杂边界的流体模拟 537 47.1 简介 537 47.2 Lattice Boltzmann方法 538 47.3 基于GPU的LBM 539 47.3.1 算法介绍 539 47.3.2 数据封装 540 47.3.3 迁移 541 47.4 基于GPU的边界处理 541 47.4.1 基于GPU的体素化方法 542 47.4.2 周期性边界 543 47.4.3 流出边界 544 47.4.4 障碍物边界 544 47.5 可视化 545 47.6 实验结果 546 47.7 本章小结 547 参考文献 548 第48章 基于FFT的医学图像重建 551 48.1 背景 551 48.2 傅里叶变换 552 48.2 FFT算法 553 48.4 在GPU上的实现 553 48.4.1 方法1:主要使用片段处理器 555 48.4.2 方法2:使用顶点处理器、光栅器和片段处理器 556 48.4.3 负载平衡 558 48.4.4 基准测试结果 558 48.5 医学成像中的FFT 559 48.5.1 磁共振成像 559 48.5.2 MRI结果 560 48.5.3 超声波成像 562 48.6 本章小结 564 参考文献 565 参考文献 76 第7章 带有位移映射的细分表面自适应镶嵌 77 7.1 细分表面 77 7.1.1 一些定义 78 7.1.2 Catmull-Clark细分 78 7.1.3 用细分来镶嵌 79 7.1.4 面片化表面 80 7.1.5 GPU镶嵌算法 80 7.1.6 致密镶嵌 84 7.2 位移映射 84 7.2.1 改变平滑度测试 85 7.2.2 用法线映射着色 85 7.3 本章小结 86 参考文献 86 第8章 使用距离函数的逐像素位移映射 87 8.1 简介 87 8.2 准备工作 89 8.3 距离映射算法 89 8.4 计算距离图 92 8.5 着色器 92 8.5.1 顶点着色器 92 8.5.2 片段着色器 92 8.5.3 关于过滤的注意事项 94 8.6 结果 94 8.7 本章小结 95 参考文献 96 第Ⅱ部分 着色、光照和阴影 第9章 S.T.A.L.K.E.R.中的延期着色 101 9.1 引言 101 9.2 几种观点 102 9.3 优化 103 9.3.1 优化的对象 103 9.3.2 光照优化 104 9.3.3 G缓冲区建立的优化 106 9.3.4 阴影优化 108 9.4 改善质量 109 9.4.1 “虚拟位置”的威力 109 9.4.2 环境遮挡 110 9.4.3 材质和表面光照的交互 111 9.5 反走样 111 9.5.1 高效的调和映射 113 9.5.2 处理透明 114 9.6 尝试过但没有包含入最终代码的内容 114 9.6.1 高程图 114 9.6.2 实时的全局照明 115 9.7 本章小结 115 参考文献 116 第10章 动态辐照度环境映射实时计算 117 10.1 辐照度(irradiance)环境映射 117 10.2 球面调和卷积 119 10.3 映射到GPU上 120 10.3.1 空域到频域 121 10.3.2 卷积和恢复 122 10.4 以后的工作 123 10.5 本章小结 123 参考文献 123 第11章 近似的双向纹理函数 125 11.1 引言 125 11.2 采集 126 11.2.1 建立和采集 126 11.2.2 汇集着色图 127 11.3 渲染 128 11.3.1 细节算法 128 11.3.2 实时渲染 129 11.4 结果 130 11.5 本章小结 132 参考文献 132 第12章 基于贴面的纹理映射 133 12.1 方法简介 134 12.2 纹理贴面的构造 135 12.3 纹理贴面打包 135 12.4 纹理贴面映射 137 12.5 mipmap问题 138 12.6 本章小结 140 参考文献 140 第13章 在GPU上实现mental images的Phenomena渲染器 141 13.1 引言 141 13.2 着色器和Phenomena 142 13.3 用Cg实现Phenomena 143 13.3.1 Cg顶点程序和可变参数 144 13.3.2 片段程序着色器的main()入口点 145 13.3.3 通用着色器接口 145 13.3.4 一个简单的着色器例子 146 13.3.5 全局的状态变量 148 13.3.6 光着色器 149 13.3.7 纹理着色器 151 13.3.8 凹凸映射 152 13.3.9 环境着色器和体着色器 153 13.3.10 返回结构体的着色器 154 13.3.11 渲染毛发 154 13.3.12 组合所有东西 155 13.4 本章小结 155 参考文献 156 第14章 动态环境遮挡和间接光照 157 14.1 表面元素 158 14.2 环境遮挡 158 14.2.1 多遍阴影算法 160 14.2.2 改善性能 160 14.3 间接光照和面光源 162 14.4 本章小结 164 参考文献 164 第15章 蓝图渲染和草图绘制 165 15.1 基本原理 166 15.1.1 中间渲染结果 166 15.1.2 边增强 166 15.1.3 深度子图形渲染 167 15.2 蓝图渲染 167 15.2.1 深度剥离 167 15.2.2 析取可见边和不可见边 169 15.2.3 合成蓝图 170 15.2.4 深度屏蔽 171 15.2.5 使用蓝图渲染显示建筑 171 15.3 草图渲染 171 15.3.1 边和颜色面片 172 15.3.2 应用不确定性 172 15.3.3 调整深度 173 15.3.4 草图渲染的变体 173 15.3.5 控制不确定性 174 15.3.6 减少雨景效果 175 15.4 本章小结 176 参考文献 176 第16章 精确的大气散射 179 16.1 引言 179 16.2 解散射方程 180 16.2.1 Rayleigh散射与Mie散射 180 16.2.2 相位函数 181 16.2.3 外向散射方程 181 16.2.4 内向散射方程 182 16.2.5 表面散射方程 182 16.3 实时渲染 182 16.4 挤入着色器中 184 16.4.1 去除一个维度 184 16.4.2 去除其他维度 184 16.5 实现散射的着色器 185 16.5.1 顶点着色器 185 16.5.2 片段着色器 187 16.6 增加高动态范围渲染 188 16.7 本章小结 188 参考文献 189 第17章 利用像素着色器分支的高效模糊边缘阴影 191 17.1 现有的阴影生成技术 191 17.2 用单张阴影图产生模糊阴影 192 17.2.1 模糊尖锐边缘阴影 192 17.2.2 提高效率 195 17.2.3 实现细节 196 17.3 本章小结 199 参考文献 200 第18章 将顶点纹理位移用于水的真实感渲染 201 18.1 水的模型 202 18.2 实现 202 18.2.1 水的表面模型 202 18.2.2 实现细节 203 18.2.3 对高度图采样 203 18.2.4 质量的提高与优化 204 18.2.5 渲染局部的扰动 208 18.3 本章小结 209 参考文献 209 第19章 通用的折射模拟 211 19.1 基本方法 212 19.2 折射掩码 213 19.3 示例 215 19.3.1 水的模拟 215 19.3.2 玻璃的模拟 217 19.4 本章小结 219 参考文献 219 第Ⅲ部分 高质量渲染 第20章 快速三阶纹理过滤 225 20.1 高阶过滤 225 20.2 快速递归三次卷积 226 20.3 mipmapping 230 20.4 导数重建 232 20.5 本章小结 235 参考文献 236 第21章 高质量反走样的光栅化 237 21.1 概述 237 21.2 降采样 239 21.2.1 与现有软硬件的对比 239 21.2.2 用GPU进行降采样 240 21.3 延伸 240 21.4 过滤器的细节 241 21.5 两遍分离式的过滤器 242 21.6 分块和累加 243 21.7 代码 243 21.7.1 渲染循环 244 21.7.2 降采样类 245 21.7.3 实现细节 246 21.8 本章小结 246 参考文献 247 第22章 快速的预过滤线条 249 22.1 为什么尖锐的直线看起来很糟糕 249 22.2 限制信号的带宽 250 22.3 预处理 252 22.4 运行时 253 22.4.1 线段的建立(CPU) 253 22.4.2 表查找(GPU) 254 22.5 实现的问题 256 22.5.1 绘制宽线 256 22.5.2 组合多条线段 256 22.6 示例 256 22.7 本章小结 258 参考文献 258 第23章 Nalu Demo的头发动画和渲染 261 23.1 头发的几何体 262 23.1.1 布局和增长 262 23.1.2 控制头发 263 23.1.3 数据流 263 23.1.4 镶嵌 263 23.1.5 插值 264 23.2 动力学和碰撞 265 23.2.1 约束条件 265 23.2.2 碰撞 266 23.2.3 鳍 266 23.3 头发的着色 267 23.3.1 用于头发的实时反射模型 268 23.3.2 头发中实时的体化阴影 271 23.4 本章小结和未来的工作 274 参考文献 274 第24章 使用查找表加速颜色变换 275 24.1 查找表的基础知识 275 24.1.1 一维查找表 275 24.1.2 三维查找表 276 24.1.3 插值 278 24.2 实现 278 24.2.1 把查找表映射到GPU的策略 278 24.2.2 Cg着色器 278 24.2.3 系统集成 280 24.2.4 把三维查找表扩展到用于高动态范围图像 281 24.3 本章小结 282 参考文献 282 第25章 Apple Motion中的GPU图像处理 285 25.1 设计 285 25.1.1 喜爱的和厌恶的 285 25.1.2 选择语言 287 25.1.3 CPU向后支持 287 25.2 实现 288 25.2.1 GPU资源的限制 288 25.2.2 被零除 289 25.2.3 丢失的顶点分量 289 25.2.4 双线过滤 290 25.2.5 高精度存储 294 25.3 调试 294 25.4 本章小结 295 参考文献 296 第26章 实现改进的Perlin噪声 297 26.1 随机但平滑 297 26.2 存储与计算 297 26.3 实现细节 298 26.4 本章小结 302 参考文献 302 第27章 高级的高质量过滤 303 27.1 在GPU上实现过滤 303 27.1.1 访问图像样本 303 27.1.2 卷积过滤 304 27.2 数字图像的重采样 307 27.2.1 背景知识 307 27.2.2 反走样问题 307 27.2.3 图像重建 310 27.3 冲击过滤: 锐化图像的方法 312 27.4 过滤器的实现技巧 314 27.5 高级应用 314 27.5.1 时间变形 314 27.5.2 运动模糊的消除 314 27.5.3 自适应的纹理过滤 315 27.6 本章小结 315 参考文献 315 第28章 Mipmap级的测量 317 28.1 哪个mipmap层是可见的? 318 28.2 GPU抢险队 318 28.2.1 像素点计数 318 28.2.2 引擎中的实际考虑 321 28.2.3 扩展 322 28.3 实验结果 324 28.4 本章小结 325 参考文献 326 第Ⅳ部分 GPU的通用计算:初级读本 第29章 流式体系结构和技术趋势 331 29.1 技术趋势 331 29.1.1 核心技术趋势 331 29.1.2 后果 332 29.2 高性能计算的关键 334 29.2.1 高效计算的方法 334 29.2.2 高效通信的方法 335 29.2.3 与CPU对比 335 29.3 流式计算 336 29.3.1 流式编程模型 336 29.3.2 构建一个流式处理器 337 29.4 未来和挑战 338 29.4.1 技术趋势 338 29.4.2 功耗管理 338 29.4.3 支持更高的可编程性和功能性 339 29.4.4 来自CPU的GPU功能性(或反之亦然) 339 参考文献 339 第30章 GeForce 6系列GPU的体系结构 341 30.1 GPU如何适合于整体计算系统 342 30.2 整体系统体系结构 342 30.2.1 图形操作的功能结构图 343 30.2.2 非图形操作的功能结构图 346 30.3 GPU特性 347 30.3.1 固定函数特性 348 30.3.2 着色器Model 3.0编程模型 349 30.3.3 支持的数据存储格式 353 30.4 性能 354 30.5 达到最佳性能 354 30.5.1 积极地使用z裁减 355 30.5.2 加载数据时利用纹理数学 355 30.5.3 使用片段程序的分支 355 30.5.4 尽可能使用fp16作中间值 355 30.6 本章小结 356 第31章 把计算概念映射到GPU 357 31.1 数据并行的重要性 357 31.1.1 哪种类型的计算可以很好地映射到GPU 357 31.1.2 示例:在栅格上模拟 358 31.1.3 流通信:聚集与散布 359 31.2 GPU计算资源清单 359 31.3 CPU-GPU类比 362 31.3.1 流:GPU纹理 = CPU数组 362 31.3.2 核:GPU片段程序 = CPU“内循环” 362 31.3.3 渲染到纹理 = 反馈 362 31.3.4 几何体光栅化 = 计算的调用 363 31.3.5 纹理坐标 = 计算的域 363 31.3.6 顶点坐标 = 计算的范围 363 31.3.7 缩减 363 31.4 从类比到实现 364 31.5 一个简单的例子 366 31.6 本章小结 368 参考文献 368 第32章 尝试GPU计算 369 32.1 选择快速算法 369 32.1.1 局部性 369 32.1.2 允许计算的准则 370 32.1.3 考虑下载和读回 371 32.2 了解浮点 371 32.3 实现散列 373 32.3.1 转换成聚集 373 32.3.2 地址排序 374 32.3.3 渲染点 375 32.4 本章小结 375 参考文献 376 第33章 在GPU上实现高效的并行数据结构 377 33.1 流式编程 377 33.2 GPU存储器模型 379 33.2.1 存储器体系结构 379 33.2.2 GPU流类型 380 33.2.3 GPU核的存储器访问 381 33.3 基于GPU的数据结构 382 33.3.1 多维数组 382 33.3.2 结构体 387 33.3.3 稀疏数据结构 387 33.4 性能考虑 391 33.4.1 依赖的纹理读取 391 33.4.2 计算频度和程序特化 391 33.4.3 Pbuffer Survival Guide 392 33.5 本章小结 393 参考文献 393 第34章 GPU流程控制习惯用法 395 34.1 流程控制的挑战 395 34.2 基本的流程控制策略 396 34.2.1 判定 396 34.2.2 把分支向着流水线上端移动 396 34.2.3 z裁减 397 34.2.4 分支指令 399 34.2.5 选择一种分支机制 399 34.3 使用遮挡查询的数据依赖循环 400 34.4 本章小结 400 第35章 GPU程序优化 401 35.1 数据并行计算 401 35.1.1 指令级并行性 401 35.1.2 数据级并行性 403 35.2 计算频率 404 35.2.1 循环内不变量的预计算 405 35.2.2 用查找表进行预计算 406 35.2.3 避免内循环分支 407 35.2.4 swizzle操作 407 35.3 评价和负载平衡 408 35.4 本章小结 409 参考文献 410 第36章 用于GPGPU应用程序的流式缩减操作 411 36.1 通过紧缩来过滤 411 36.1.1 累加和扫描 412 36.1.2 通过搜索/聚集来散布 413 36.1.3 过滤性能 415 36.2 动机:碰撞检测 416 36.3 用于细分表面的过滤 419 36.4 本章小结 421 参考文献 421 第Ⅴ部分 面向图像的计算 第37章 GPU上的八叉树纹理 425 37.1 一个GPU加速的层次结构:N3树 426 37.1.1 定义 426 37.1.2 实现 427 37.2 应用1:在网格表面上色 431 37.2.1 建立八叉树 431 37.2.2 上色 432 37.2.3 渲染 432 37.2.4 把八叉树纹理转换成标准2D纹理 434 37.3 应用2:表面模拟 436 37.4 本章小结 437 参考文献 438 第38章 使用光栅化的高质量全局照明渲染 439 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.