GPU精粹2:高性能图形芯片和通用计算编程技巧

百科

《GPU精粹2:高性能图形芯片和通用计算编程技巧》是2007年5月18日清华大学出版社出版的图书,定价128元。

  • 书名 GPU精粹2:高性能图形芯片和通用计算编程技巧
  • ISBN 9787302139430
  • 定价 128元
  • 出版社 清华大学出版社
  • 出版时间 2007-5-18

图书简介

  本书延续了畅销书《上终义洋念列兰细社独客GPU精粹》的第1卷,细述了在今天的图形处理器(GPU)上最新的可编程技术。随着GPU进入手机、手持游来自戏设备和游戏机领域,GPU专业知识在今天的竞争环境中显得更为重要。实时图形程婷扩序员会发现用于建立高级的视觉特效、管理复杂场景的策略和高级图像强大处理能力运用到其他计算密集型程序中,比如科学计算和金融。书中有20360百科章专门讲述GPGPU编程,从基本的概念到高级技术。本书提供倒危强脸为了一些专家撰写的最前沿的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.2GPU实现概览 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.4DrawPrimitive调用 2及乱到克5

  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.1DirectX9.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

  参考文献 76

  第7章带有位移映射的细分表面自

  适应镶嵌 77

  7.1细分表面 77

  7.1.1一些定义 78

  7.1.2Catmull-Clark细分 78

  7.1.3用细分来镶嵌 79

  7.1.4面片化表面 80

  7.1.5GPU镶嵌算法 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.3G缓冲区建立的优化 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.5mipmap问题 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.1Cg顶点程序和可变

  参数 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.1Rayleigh散射与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.3mipmapping 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章NaluDemo的头发动画和渲染 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.2Cg着色器 278

  24.2.3系统集成 280

  24.2.4把三维查找表扩展到用

  于高动态范围图像 281

  24.3本章小结 282

  参考文献 282

  第25章AppleMotion中的GPU图像处理 285

  25.1设计 285

  25.1.1喜爱的和厌恶的 285

  25.1.2选择语言 287

  25.1.3CPU向后支持 287

  25.2实现 288

  25.2.1GPU资源的限制 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.2GPU抢险队 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章GeForce6系列GPU的体系结构 341

  30.1GPU如何适合于整体计算

  系统 342

  30.2整体系统体系结构 342

  30.2.1图形操作的功能结构图 343

  30.2.2非图形操作的功能结

  构图 346

  30.3GPU特性 347

  30.3.1固定函数特性 348

  30.3.2着色器Model3.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.2GPU计算资源清单 359

  31.3CPU-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.2GPU存储器模型 379

  33.2.1存储器体系结构 379

  33.2.2GPU流类型 380

  33.2.3GPU核的存储器访问 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.3PbufferSurvivalGuide 392

  33.5本章小结 393

  参考文献 393

  第34章GPU流程控制习惯用法 395

  34.1流程控制的挑战 395

  34.2基本的流程控制策略 396

  34.2.1判定 396

  34.2.2把分支向着流水线上端

  移动 396

  34.2.3z裁减 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.4swizzle操作 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

  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.5GPU上的全局照明渲染器 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.2GPU实现 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.2Floyd-Warshall算法以及

  绑定距离的平滑 498

  43.3GPU实现 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.2Black-Scholes模型 518

  45.3Lattice模型 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.2LatticeBoltzmann方法 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.2FFT算法 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.2MRI结果 560

  48.5.3超声波成像 562

  48.6本章小结 564

  参考文献 565

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com