• DirectX 12 3D游戏开发实战
21年品牌 40万+商家 超1.5亿件商品

DirectX 12 3D游戏开发实战

全新正版 假一赔十 可开发票

103.34 7.0折 148 全新

库存8件

北京东城
认证卖家担保交易快速发货售后保障

作者(美)弗兰克·D.卢娜(Frank D.Luna)

出版社人民邮电出版社

ISBN9787115479211

出版时间2019-01

装帧平装

开本16开

定价148元

货号1201806577

上书时间2024-12-20

轻阅书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

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

目录
  
部分必备的数学知识


章向量代数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


0章混合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


1章模板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


2章几何着色器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


3章计算着色器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


4章曲面细分阶段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


第三部分主题篇


5章构建人称视角的摄像机与动态索引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


6章实例化与视锥体剔除511


16.1硬件实例化511

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP