返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • DirectX 12 3D游戏开发实战 (美)弗兰克·D.卢娜(Frank D.Luna) 著 王陈 译 专业科技
  • 新华书店正版
    • 作者: (美)弗兰克·D.卢娜(Frank D.Luna)著 | | 王陈译
    • 出版社: 人民邮电出版社
    • 出版时间:2019-01-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: (美)弗兰克·D.卢娜(Frank D.Luna)著| 王陈译
    • 出版社:人民邮电出版社
    • 出版时间:2019-01-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2019-01-01
    • 字数:1186千字
    • 页数:742
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115479211
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    DirectX 12 3D游戏开发实战

    作  者:(美)弗兰克·D.卢娜(Frank D.Luna) 著 王陈 译
    定  价:148
    出 版 社:人民邮电出版社
    出版日期:2019年01月01日
    页  数:742
    装  帧:平装
    ISBN:9787115479211
    主编推荐

      

    内容简介

    Direct3D是微软公司DirectX SDK集成开发包中的重要组成部分,是编写高性能3D图形应用程序的渲染库,适用于多媒体、娱乐、即时3D动画等广泛和实用的3D图形计算领域。
    本书围绕交互式计算机图形学这一主题展开,着重介绍Direct3D的基础知识和着色器编程的方法,并介绍了如何利用Direct3D来实现各种有趣的技术与,旨在为读者学习图形技术奠定坚实的基础。本书包括3部分内容。靠前部分介绍数学知识,涵盖向量代数、矩阵代数和变换等内容。这是贯穿全书的数学工具,是读者需要掌握的基础内容。第二部分重点介绍Direct3D的基础知识,展示用Direct3D来实现绘图任务的基本概念与技术,如渲染流水线、纹理贴图、混合、曲面细分等。第三部分则利用Direct3D来实现各种有趣的,如实例化与视锥体剔除、阴影贴图、环境光遮蔽等。
    本书适合希望通过Direct3D来学习3D编null

    作者简介

    弗兰克·D.卢娜,毕业于加利福尼亚大学欧文分校,获得数学学士学位,具备着超过15年的DirectX交互式图形学编程经验,著有3本DirectX畅销书,曾从事3D医疗可视化、3D建筑设计软件以及游戏相关工作。

    精彩内容

    目录
       第一部分推荐的数学知识

    第1章向量代数3

    1.1向量3

    1.1.1向量与坐标系4

    1.1.2左手坐标系与右手坐标系5

    1.1.3向量的基本运算6

    1.2长度和单位向量8

    1.3点积9

    1.4叉积12

    1.4.12D向量的伪叉积13

    1.4.2通过叉积来进行正交化处理13

    1.5点14

    1.6利用DirectXMath库进行向量运算15

    1.6.1向量类型16

    1.6.2加载方法和存储方法17

    1.6.3参数的传递18

    1.6.4常向量20

    1.6.5重载运算符21

    1.6.6杂项21

    1.6.7Setter函数21

    1.6.8向量函数23

    1.6.9浮点数误差26

    1.7小结28

    1.8练习29

    第2章矩阵代数34

    2.1矩阵的定义34

    2.2矩阵乘法36

    2.2.1定义36

    2.2.2向量与矩阵的乘法37

    2.2.3结合律37

    2.3转置矩阵38

    2.4单位矩阵38

    2.5矩阵的行列式39

    2.5.1余子阵40

    2.5.2行列式的定义40

    2.6伴随矩阵41

    2.7逆矩阵42

    2.8用DirectXMath库处理矩阵43

    2.8.1矩阵类型44

    2.8.2矩阵函数46

    2.8.3DirectXMath矩阵示例程序47

    2.9小结49

    2.10练习49

    第3章变换52

    3.1线性变换52

    3.1.1定义52

    3.1.2矩阵表示法53

    3.1.3缩放53

    3.1.4旋转55

    3.2仿射变换58

    3.2.1齐次坐标58

    3.2.2仿射变换的定义及其矩阵表示58

    3.2.3平移59

    3.2.4缩放和旋转的仿射矩阵61

    3.2.5仿射变换矩阵的几何意义61

    3.3变换的复合62

    3.4坐标变换63

    3.4.1向量的坐标变换64

    3.4.2点的坐标变换65

    3.4.3坐标变换的矩阵表示66

    3.4.4坐标变换矩阵及其结合律66

    3.4.5坐标变换矩阵及其逆矩阵67

    3.5变换矩阵与坐标变换矩阵68

    3.6DirectXMath库提供的变换函数69

    3.7小结70

    3.8练习71

    第二部分Direct3D基础

    第4章Direct3D的初始化77

    4.1预备知识77

    4.1.1Direct3D12概述77

    4.1.2组件对象模型78

    4.1.3纹理格式79

    4.1.4交换链和页面翻转80

    4.1.5深度缓冲81

    4.1.6资源与描述符83

    4.1.7多重采样技术的原理85

    4.1.8利用Direct3D进行多重采样87

    4.1.9功能级别88

    4.1.10DirectX图形基础结构89

    4.1.11功能支持的检测92

    4.1.12资源驻留93

    4.2CPU与GPU间的交互94

    4.2.1命令队列和命令列表94

    4.2.2CPU与GPU间的同步98

    4.2.3资源转换100

    4.2.4命令与多线程101

    4.3初始化Direct3D102

    4.3.1创建设备102

    4.3.2创建围栏并获取描述符的大小104

    4.3.3检测对4XMSAA质量级别的支持104

    4.3.4创建命令队列和命令列表105

    4.3.5描述并创建交换链105

    4.3.6创建描述符堆107

    4.3.7创建渲染目标视图108

    4.3.8创建深度/模板缓冲区及其视图110

    4.3.9设置视口114

    4.3.10设置裁剪矩形115

    4.4计时与动画116

    4.4.1性能计时器116

    4.4.2游戏计时器类117

    4.4.3帧与帧之间的时间间隔118

    4.4.4总时间120

    4.5应用程序框架示例123

    4.5.1D3DApp类123

    4.5.2非框架方法126

    4.5.3框架方法127

    4.5.4帧的统计信息128

    4.5.5消息处理函数130

    4.5.6“初始化Direct3D演示”程序131

    4.6调试Direct3D应用程序135

    4.7小结137

    第5章渲染流水线139

    5.13D视觉即错觉?140

    5.2模型的表示141

    5.3计算机色彩基础142

    5.3.1颜色运算143

    5.3.2128位颜色143

    5.3.332位颜色144

    5.4渲染流水线概述145

    5.5输入装配器阶段147

    5.5.1顶点147

    5.5.2图元拓扑147

    5.5.3索引151

    5.6顶点着色器阶段152

    5.6.1局部空间和世界空间153

    5.6.2观察空间156

    5.6.3投影和齐次裁剪空间158

    5.7曲面细分阶段164

    5.8几何着色器阶段165

    5.9裁剪165

    5.10光栅化阶段167

    5.10.1视口变换167

    5.10.2背面剔除167

    5.10.3顶点属性插值169

    5.11像素着色器阶段170

    5.12输出合并阶段170

    5.13小结171

    5.14练习171

    第6章利用Direct3D绘制几何体175

    6.1顶点与输入布局175

    6.2顶点缓冲区178

    6.3索引和索引缓冲区183

    6.4顶点着色器示例187

    6.5像素着色器示例192

    6.6常量缓冲区195

    6.6.1创建常量缓冲区195

    6.6.2更新常量缓冲区198

    6.6.3上传缓冲区辅助函数198

    6.6.4常量缓冲区描述符201

    6.6.5根签名和描述符表202

    6.7编译着色器206

    6.7.1离线编译208

    6.7.2生成着色器汇编代码210

    6.7.3利用VisualStudio离线编译着色器212

    6.8光栅器状态213

    6.9流水线状态对象214

    6.10几何图形辅助结构体217

    6.11立方体演示程序219

    6.12小结229

    6.13练习230

    第7章利用Direct3D绘制几何体(续)235

    7.1帧资源235

    7.2渲染项238

    7.3渲染过程中所用到的常量数据239

    7.4不同形状的几何体242

    7.4.1生成柱体网格244

    7.4.2生成球体网格248

    7.4.3生成几何球体网格249

    7.5绘制多种几何体演示程序251

    7.5.1顶点缓冲区和索引缓冲区252

    7.5.2渲染项255

    7.5.3帧内资源和常量缓冲区视图257

    7.5.4绘制场景260

    7.6细探根签名262

    7.6.1根参数263

    7.6.2描述符表264

    7.6.3根描述符266

    7.6.4根常量267

    7.6.5更复杂的根签名示例269

    7.6.6根参数的版本控制270

    7.7陆地与波浪演示程序271

    7.7.1生成栅格顶点273

    7.7.2生成栅格索引274

    7.7.3应用计算高度的函数275

    7.7.4根常量缓冲区视图277

    7.7.5动态顶点缓冲区279

    7.8小结281

    7.9练习282

    第8章光照283

    8.1光照与材质的交互283

    8.2法向量285

    8.2.1计算法向量286

    8.2.2变换法向量288

    8.3参与光照计算的一些关键向量289

    8.4朗伯余弦定律290

    8.5漫反射光照292

    8.6环境光照292

    8.7镜面光照293

    8.7.1菲涅耳效应294

    8.7.2表面粗糙度296

    8.8光照模型的概述298

    8.9材质的实现299

    8.10平行光源304

    8.11点光源304

    8.12聚光灯光源306

    8.13光照的具体实现306

    8.13.1Light结构体307

    8.13.2常用辅助函数308

    8.13.3实现方向光源310

    8.13.4实现点光源310

    8.13.5实现聚光灯光源311

    8.13.6多种光照的叠加312

    8.13.7HLSL主文件313

    8.14光照演示程序316

    8.14.1顶点格式317

    8.14.2计算法线317

    8.14.3更新光照的方向319

    8.14.4更新根签名320

    8.15小结320

    8.16练习321

    第9章纹理贴图323

    9.1纹理与资源的回顾324

    9.2纹理坐标325

    9.3纹理数据源328

    9.3.1DDS格式概述328

    9.3.2创建DDS文件329

    9.4创建以及启用纹理330

    9.4.1加载DDS文件330

    9.4.2着色器资源视图堆331

    9.4.3创建着色器资源视图描述符331

    9.4.4将纹理绑定到流水线333

    9.5过滤器335

    9.5.1放大335

    9.5.2缩小337

    9.5.3各向异性过滤338

    9.6寻址模式339

    9.7采样器对象341

    9.7.1创建采样器341

    9.7.2静态采样器344

    9.8在着色器中对纹理进行采样346

    9.9板条箱演示程序347

    9.9.1指定纹理坐标347

    9.9.2创建纹理348

    9.9.3设置纹理349

    9.9.4更新HLSL部分代码349

    9.10纹理变换352

    9.11附有纹理的山川演示程序353

    9.11.1生成栅格纹理坐标353

    9.11.2铺设纹理355

    9.11.3纹理动画355

    9.12小结356

    9.13练习356

    第10章混合359

    10.1混合方程360

    10.2混合运算360

    10.3混合因子362

    10.4混合状态363

    10.5混合示例365

    10.5.1禁止颜色的写操作365

    10.5.2加法混合与减法混合366

    10.5.3乘法混合366

    10.5.4透明混合367

    10.5.5混合与深度缓冲区368

    10.6alpha通道368

    10.7裁剪像素369

    10.8雾371

    10.9小结377

    10.10练习377

    第11章模板379

    11.1深度/模板缓冲区的格式及其资源数据的清理380

    11.2模板测试381

    11.3描述深度/模板状态382

    11.3.1深度信息的相关设置382

    11.3.2模板信息的相关设置383

    11.3.3创建和绑定深度/模板状态384

    11.4实现平面镜效果385

    11.4.1镜像概述385

    11.4.2定义镜像的深度/模板状态387

    11.4.3绘制场景389

    11.4.4绕序与镜像390

    11.5实现平面阴影391

    11.5.1平行光阴影391

    11.5.2点光阴影393

    11.5.3通用阴影矩阵394

    11.5.4使用模板缓冲区防止双重混合394

    11.5.5编写阴影部分的代码395

    11.6小结396

    11.7练习397

    第12章几何着色器402

    12.1编写几何着色器402

    12.2以公告牌技术实现森林效果408

    12.2.1概述408

    12.2.2顶点结构体410

    12.2.3HLSL文件411

    12.2.4SV_PrimitiveID语义416

    12.3纹理数组417

    12.3.1概述417

    12.3.2对纹理数组进行采样417

    12.3.3加载纹理数组418

    12.3.4纹理子资源418

    12.4alpha-to-coverage技术419

    12.5小结421

    12.6练习422

    第13章计算着色器425

    13.1线程与线程组427

    13.2一个简单的计算着色器428

    13.3数据的输入与输出资源430

    13.3.1纹理输入430

    13.3.2纹理输出与无序访问视图430

    13.3.3利用索引对纹理进行采样433

    13.3.4结构化缓冲区资源435

    13.3.5将计算着色器的执行结果复制到系统内存437

    13.4线程标识的系统值441

    13.5追加缓冲区与消费缓冲区442

    13.6共享内存与线程同步443

    13.7图像模糊演示程序445

    13.7.1图像模糊理论445

    13.7.2渲染到纹理技术448

    13.7.3图像模糊的实现概述450

    13.7.4计算着色器程序456

    13.8拓展资料461

    13.9小结461

    13.10练习463

    第14章曲面细分阶段468

    14.1曲面细分的图元类型469

    14.2外壳着色器470

    14.2.1常量外壳着色器470

    14.2.2控制点外壳着色器473

    14.3镶嵌器阶段474

    14.3.1四边形面片的曲面细分示例475

    14.3.2三角形面片的曲面细分示例475

    14.4域着色器476

    14.5对四边形进行镶嵌化处理477

    14.6三次贝塞尔四边形面片481

    14.6.1贝塞尔曲线482

    14.6.2三次贝塞尔曲面484

    14.6.3计算三次贝塞尔曲面的相关代码485

    14.6.4定义面片的几何形状487

    14.7小结489

    14.8练习490

    第三部分主题篇

    第15章构建第一人称视角的摄像机与动态索引493

    15.1重温取景变换493

    15.2摄像机类494

    15.3摄像机类中的方法实现选讲496

    15.3.1返回XMVECTOR类型变量的方法496

    15.3.2SetLens方法497

    15.3.3推导视锥体信息497

    15.3.4与摄像机相关的变换操作498

    15.3.5构建观察矩阵499

    15.4摄像机演示程序的若干注解500

    15.5动态索引502

    15.6小结509

    15.7练习509

    第16章实例化与视锥体剔除511

    16.1硬件实例化511

    16.1.1绘制实例数据512

    16.1.2实例数据512

    16.1.3创建实例缓冲区517

    16.2包围体与视锥体519

    16.2.1DirectXMath碰撞检测库520

    16.2.2包围盒520

    16.2.3包围球523

    16.2.4视锥体524

    16.3视锥体剔除529

    16.4小结532

    16.5练习533

    第17章拾取535

    17.1屏幕空间到投影窗口的变换536

    17.2位于世界空间与局部空间中的拾取射线539

    17.3射线与网格的相交检测540

    17.3.1射线与轴对齐包围盒的相交检测542

    17.3.2射线与球体的相交检测542

    17.3.3射线与三角形的相交检测543

    17.4应用例程545

    17.5小结546

    17.6练习547

    第18章立方体贴图548

    18.1什么是立方体贴图548

    18.2环境贴图549

    18.3绘制天空纹理552

    18.4模拟反射556

    18.5动态立方体图559

    18.5.1动态立方体图辅助类561

    18.5.2构建立方体图资源562

    18.5.3分配额外的描述符堆空间562

    18.5.4构建描述符564

    18.5.5构建深度缓冲区565

    18.5.6立方体图的视口与裁剪矩形566

    18.5.7设置立方体图摄像机566

    18.5.8对立方体图进行绘制568

    18.6用几何着色器绘制动态立方体图571

    18.7小结574

    18.8练习574

    第19章法线贴图577

    19.1使用法线贴图的动机577

    19.2什么是法线贴图578

    19.3纹理空间/切线空间580

    19.4顶点切线空间582

    19.5在切线空间与物体空间之间进行转换583

    19.6法线贴图的着色器代码584

    19.7小结588

    19.8练习589

    第20章阴影贴图591

    20.1渲染场景深度591

    20.2正交投影594

    20.3投影纹理坐标595

    20.3.1代码实现597

    20.3.2视锥体之外的点598

    20.3.3正交投影598

    20.4什么是阴影贴图599

    20.4.1算法描述599

    20.4.2偏移与走样600

    20.4.3百分比渐近过滤603

    20.4.4构建阴影图607

    20.4.5阴影因子612

    20.4.6阴影图检测614

    20.4.7渲染阴影图614

    20.5过大的PCF核615

    20.5.1ddx函数与ddy函数616

    20.5.2较大PCF核问题的解决方案616

    20.5.3较大PCF核问题的另一种解决方案618

    20.6小结619

    20.7练习620

    第21章环境光遮蔽622

    21.1通过投射光线实现环境光遮蔽623

    21.2屏幕空间环境光遮蔽626

    21.2.1法线与深度值的渲染过程626

    21.2.2环境光遮蔽的渲染过程628

    21.2.3模糊过程637

    21.2.4使用环境光遮蔽图641

    21.3小结642

    21.4练习642

    第22章四元数644

    22.1复数回顾644

    22.1.1定义645

    22.1.2复数的几何意义645

    22.1.3极坐标表示法与旋转操作646

    22.2四元数代数647

    22.2.1定义与基本运算647

    22.2.2特殊乘积648

    22.2.3性质648

    22.2.4转换649

    22.2.5共轭与范数649

    22.2.6四元数的逆650

    22.2.7极坐标表示法651

    22.3单位四元数及其旋转操作652

    22.3.1旋转算子652

    22.3.2将四元数旋转算子转换为矩阵形式654

    22.3.3将旋转矩阵变换为四元数旋转算子655

    22.3.4复合657

    22.4四元数插值657

    22.5DirectX数学库中与四元数有关的函数661

    22.6旋转演示程序662

    22.7小结667

    22.8练习667

    第23章角色动画670

    23.1框架层次670

    23.2蒙皮网格674

    23.2.1定义674

    23.2.2重新推导将骨骼变换至根坐标系的公式674

    23.2.3偏移变换675

    23.2.4驱动骨架运动675

    23.2.5计算最终变换677

    23.3顶点混合679

    23.4从文件中加载动画数据682

    23.4.1文件头682

    23.4.2材质683

    23.4.3子集683

    23.4.4顶点数据与三角形684

    23.4.5骨骼偏移变换685

    23.4.6层次结构685

    23.4.7动画数据686

    23.4.8M3DLoader类688

    23.5角色动画演示程序689

    23.6小结692

    23.7练习694

    附录AWindows编程入门695

    A.1概述696

    A.1.1资源696

    A.1.2事件、消息队列、消息以及消息循环696

    A.1.3图形用户界面698

    A.1.4Unicode698

    A.2基本的Windows应用程序699

    A.3讲解基本Windows应用程序的工作流程702

    A.3.1程序中的头文件、全局变量以及函数声明702

    A.3.2WinMain703

    A.3.3WNDCLASS结构体与实例注册704

    A.3.4创建并显示窗口705

    A.3.5消息循环707

    A.3.6窗口过程708

    A.3.7消息框函数710

    A.4一种更灵活的消息循环710

    A.5小结711

    A.6练习711

    附录B高级着色器语言参考713

    B.1变量类型713

    B.1.1标量类型713

    B.1.2向量类型713

    B.1.3矩阵类型714

    B.1.4数组716

    B.1.5结构体716

    B.1.6typedef关键字716

    B.1.7变量的修饰符717

    B.1.8强制类型转换717

    B.2关键字与运算符718

    B.2.1关键字718

    B.2.2运算符718

    B.3程序中的控制流720

    B.4函数721

    B.4.1用户自定义函数721

    B.4.2内置函数722

    B.4.3常量缓冲区的封装规则725

    附录C解析几何学选讲728

    C.1射线、直线以及线段728

    C.2平行四边形729

    C.3三角形729

    C.4平面730

    C.4.1DirectX数学库中平面的表示731

    C.4.2空间点与平面的位置关系731

    C.4.3构建平面732

    C.4.4对平面进行规范化处理733

    C.4.5对平面进行变换733

    C.4.6平面内离指定点最近的点734

    C.4.7射线与平面的相交检测734

    C.4.8反射向量735

    C.4.9反射点735

    C.4.10反射矩阵736

    C.5练习737

    附录D参考资料739

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购