《精通direct3d图形及动画程序设计》附书源代码

时间:2012-08-24 15:04:49
【文件属性】:

文件名称:《精通direct3d图形及动画程序设计》附书源代码

文件大小:18.49MB

文件格式:RAR

更新时间:2012-08-24 15:04:49

运动模糊效果 柔性物体模拟 HLSL高级应用

示例程序目录及简要说明 第2章 Direct3D程序设计基础 CreateDevice 演示Direct3D程序的基本框架,以及如何创建Direct3D对象和Direct3D设备对象。 第3章 坐标系与基本图元 1、VertexBuffer 演示使用顶点缓冲区对象绘制基本图元。 2、BasicPrimitive 演示Direct3D中6种基本图元的绘制。通过单击键盘上的“1”~“6”数字键可以在各图元类型之间进行切换。 3、IndexBuffer 演示使用顶点缓冲区和索引缓冲区绘制基本图元。 4、RenderState 演示顶点着色模式和图形填充方式两个基本渲染状态对图形显示的影响。通过单击鼠标左键在两个着色模式之间进行切换,单击鼠标右键在3种图形填充模式之间进行切换。 5、AntiAlisa 演示通过多重采样实现图形反锯齿效果。程序运行时通过单击鼠标左键可以在启用和禁用图形反锯齿效果之间进行切换。 6、FullScreen 演示全屏幕显示模式Direct3D程序的开发,主要是创建全屏显示模式的Direct3D设备。因为程序运行在全屏模式下,所以不能像运行在窗口模式下那样,通过单击标题栏上的“关闭”按钮来关闭程序,可以通过单击键盘上的“Esc”键退出程序,也可以通过按下“Alt+F4”键退出程序。 第4章 顶点坐标变换 Transfrom 演示三维坐标变换、视区变换,以及简单动画的实现。 第5章 光照与材质 1、SimpleLighting 演示灯光的使用。 2、Multilights 演示同时使用多个光源的效果。一共使用三个光源,分别是漫反射方向光光源、漫反射点光源、镜面反射方向光光源。默认情况下,3个光源全部关闭,按下数字键“1”,启用1号光源;按下数字键“2”,启用2号光源;按下数字键“3”,启用3号光源;按下数字键“4”,3个光源全部启用;按下数字键“0”,3个光源全部关闭。 第6章 纹理映射基础 1、TextureBase 演示使用纹理贴图的基本步骤。 2、TexFilterMode 演示最近点采样和线性纹理过滤方式。在程序运行时,单击键盘上的数字键“1”,使用最近点采样纹理过滤方式,单击键盘上的数字键“2”,则使用线性纹理过滤。 3、MipTexture 演示如何创建和使用多级渐进纹理。程序运行时,单击键盘上的数字键“1”,则使用多级渐进纹理,单击数字键“2”,则使用单级别纹理。通过按下“↓”键和“↑”键可以放大和缩小显示的图形,从而可以仔细观察图像的变化,看到多级渐进纹理的效果。 4、TexAddressMode 演示不同纹理寻址模式的效果。程序运行时,单击键盘上的数字键“1”,使用重叠纹理寻址模式,单击键盘上的数字键“2”,使用镜像纹理寻址模式,单击键盘上的数字键“3”,使用夹取纹理寻址模式,单击键盘上的数字键“4” ,使用边框颜色纹理寻址模式。 5、TexRenderState 演示纹理阶段混合状态的使用。 第7章 使用文件模型 1、Mesh 演示.X文件模型的使用,包括从.X文件中加载模型生成网格模型对象,渲染网格模型。 2、StateControlUseMatrix 演示使用矩阵旋转网格模型。程序运行时按下“D”和“A”键可以使飞机模型绕自身z轴旋转;按下“S”和“W”键可以使飞机模型绕x轴旋转;按下“Q”和“E”键可以使飞机模型绕自身y轴旋转;按下“F”和“V”键可以使飞机模型向前和向后运动。 3、StateControlUseQua 演示使用四元数旋转网格模型。程序运行时按下“D”和“A”键可以使飞机模型绕自身z轴旋转;按下“S”和“W”键可以使飞机模型绕x轴旋转;按下“Q”和“E”键可以使飞机模型绕自身y轴旋转;按下“F”和“V”键可以使飞机模型向前和向后运动。 第8章 深度测试与Alpha混合 1、ZTest 演示深度测试的使用。程序运行时按下数字键“1”启用深度测试,按下数字键“0”,则禁用深度测试。 2、AlphaBlend 演示使用Alpha混合实现半透明效果。程序运行时按下数字键“1”,启用Alpha混合,按下数字键“0”,则禁用Alpha混合。 3、VertexAlpha 演示直接为顶点颜色设置Alpha值。程序运行时按下数字键“1”,启用Alpha混合,按下数字键“0”,则禁用Alpha混合。 4、TextureAlpha、 演示通过纹理混合获取Alpha 值。程序运行时按下数字键“1”,启用Alpha混合,按下数字键“0”,则禁用Alpha混合。 5、AlphaTest 演示Alpha测试的使用。程序运行时按下数字键“1”,启用Alpha测试,按下数字键“0”,则禁用Alpha测试。 第9章 雾化 1、VertexFog 演示顶点雾化效果。程序运行时按下数字键“1”,启用线性雾化,按下数字键“2”,启用指数雾化,按下数字键“3”启用双指数雾化,按下数字键“0”,禁用雾化效果。 2、PixelFog 演示像素雾化效果。程序运行时按下数字键“1”,启用线性雾化,按下数字键“2”,启用指数雾化,按下数字键“3”,启用双指数雾化,按下数字键“0”,禁用雾化效果。 3、RangeFog 演示基于范围的顶点雾化效果。程序运行时通过按下“R”键在基于范围的雾化效果和基于深度的雾化效果之间进行切换。 第10章 字体与文本显示 1、Font_2D 演示二维文本的绘制。 2、Font_3D 演示三维文本的绘制。 第11章 应用程序框架 1、AppFrame 演示DXUT应用程序框架的生成和使用。 2、AppFrame(AddText) 演示使用DXUT框架显示文本信息。 3、AppFrame(AddControl) 演示使用DXUT框架为用户界面添加控件。 第12章 高级纹理应用 1、MultiTexture 演示使用多层(多阶段)纹理混合的基本步骤。 2、TexColorBlend 演示几种常用的多层纹理颜色混合方式。程序运行时通过按下键盘上的“1”~ “6”数字键可以在不同的颜色混合方式之间进行切换。 3、TexAlphaBlend 演示纹理Alpha混合的使用。 4、TexCoorGenerate 演示纹理坐标自动生成。 5、TexCoorTransform 演示纹理坐标变换。该程序对示例程序TexCoorGenerate中自动生成的纹理坐标进行了变换,通过对比两个示例程序的最终运行结果,可以发现纹理坐标变换的作用。 6、SphericalEnvMapping 演示球形环境映射。 7、BumpTexture 演示凹凸纹理映射。 8、VolumeTexture 演示立体纹理映射。 9、DXTTexture 演示DXT压缩纹理的创建和使用。 第13章 网格模型高级技术 1、Cube 演示.X文件的剖析。 2、OptimizedMesh 演示网格模型优化技术。程序运行时,可以通过“0”~“3”数字键改变优化方式。 3、ProgressMesh 演示如何生成和使用层次细节网格模型。 4、EnhancedMesh 演示增强网格模型的生成和使用。 5、Tweening 演示渐变动画网格模型的生成和使用。 6、UseCDXUTMeshClass 演示使用CDXUTMesh类渲染网格模型。 7、UseCDXUTMeshFileClass 演示使用CDXUTMeshFile类渲染网格模型。 8、UseAnimMeshClass 演示骨骼动画网格模型的渲染、骨骼动画网格模型类的封装与使用。 9、VertexBlend 演示顶点混合技术。 10、UseSkinMeshClass 演示蒙皮骨骼动画网格模型的渲染、蒙皮骨骼动画网格模型类的封装和使用。 11、MultiAnimMesh 演示多骨骼动画网格模型的渲染、骨骼动画之间的切换。 12、MeshFromOBJ 演示保存在.OBJ文件中网格模型的渲染。 第14章 模板缓冲区 1、DepthComplexity 演示模板缓冲区技术的使用,运用模板缓冲区技术显示场景的深度复杂度。 2、ShadowVolume 演示使用模板缓冲区技术实现实时阴影效果。 第15章 粒子系统 1、SprayParticles 演示粒子系统的具体实现,粒子系统类的封装。 2、ComplexSample 一个综合性的示例程序,演示了摄影机类和场景漫游的实现,以及静态网格模型、动画网格模型、粒子系统的进一步封装和使用。 第18章 HLSL顶点渲染 1、HLSLTransform 演示使用HLSL渲染语言进行GPU编程实现坐标变换、HLSL顶点渲染的基本步骤。 2、HLSLAmbient 演示使用HLSL渲染语言进行GPU编程实现环境光照计算。 3、HLSLDiffuse 演示使用HLSL渲染语言进行GPU编程实现漫反射光照计算。 4、HLSLSpecular 演示使用HLSL渲染语言进行GPU编程实现镜面反射光照计算。 第19章 HLSL像素渲染 1、HLSLPixelColor 演示使用HLSL渲染语言进行GPU编程直接指定像素颜色值、HLSL像素渲染基本步骤。 2、HLSLTexture 演示HLSL渲染语言进行GPU编程实现纹理映射。 第20章 效果 1、EffectLighting 演示使用效果实现基本光照计算、使用效果的基本步骤。 2、EffectTexture 演示使用效果实现基本纹理映射。 3、BasicHLSL 演示多技术效果的编写和使用。 4、EffectParam 演示效果共享参数和参数块的使用。 5、FragmentLinker 演示段落的使用。 第21章 HLSL高级应用 1、HLSLSelfShadowing 演示使用HLSL渲染语言进行GPU编程实现自遮蔽阴影。 2、HLSLBumpTexture 演示使用HLSL渲染语言进行GPU编程实现凹凸纹理映射。 3、HLSLCubeMapping 演示使用HLSL渲染语言进行GPU编程实现基本的立方体环境映射。 4、HLSLCubeMappingRefract 演示使用HLSL渲染语言进行GPU编程实现具有折射效果的立方体环境映射。 5、HLSLCubeMappingDynamic 演示使用HLSL渲染语言进行GPU编程实现动态的具有折射效果的立方体环境映射。 6、HLSLTweening 演示使用HLSL渲染语言进行GPU编程实现渐变动画。 7、HLSLSkinMesh 演示使用HLSL渲染语言进行GPU编程实现蒙皮骨骼动画。 第22章 ASM顶点渲染 1、ASMTransform 演示使用ASM渲染语言进行GPU编程实现顶点坐标变换,演示ASM顶点渲染的基本步骤。 2、ASMLighting 演示使用ASM渲染语言进行GPU编程实现基本光照计算。 3、AsmTweening 演示使用ASM渲染语言进行GPU编程实现渐变动画。 4、AsmSkinMesh 演示使用ASM渲染语言进行GPU编程实现蒙皮骨骼动画。 第23章 ASM像素渲染 1、ASM_Texture 演示使用ASM渲染语言进行GPU编程实现基本的纹理映射,演示ASM像素渲染基本步骤。 2、ASMBlur 演示使用ASM渲染语言进行GPU编程实现模糊效果。 3、ASMEffect 演示使用ASM渲染语言进行GPU编程中效果的使用。 4、HLSL_ASM_Effect 演示使用HLSL和ASM渲染语言进行混合GPU编程。 第24章 DXUT控件 1、DXUTControl 演示各种DXUT控件的使用。 第25章 广告板技术与十字交叉纹理 1、BillBoard 演示广告板技术的使用。 2、CrossTexture 演示十字交叉纹理技术的使用。 第26章 纹理动画 1、TextureAnimation 通过纹理贴图实现爆炸效果,演示连续纹理贴图动画技术。 第27章 自然现象模拟 1、MovingCloud 动态云彩效果模拟。 2、Raining 下雨效果模拟。 3、Snowing 下雪效果模拟。 第28章 三维地形模拟 Terrain 简单三维地形的模拟。 第29章 海浪效果模拟 1、TexSeaWave 演示通过纹理贴图实现海浪效果模拟。 2、SinSeaWave 演示通过正弦波海洋模型实现实时动态海浪效果。 第30章 柔性物体模拟 FlutterFlag 随风飘扬的旗帜,演示柔性物体渲染技术。 第31章 三维场景交互 1、Pick 演示通过鼠标光标选择三维场景中的物体。 2、WalkByOrder 演示通过鼠标控制三维场景中人物角色的运动。当按下鼠标左键时,角色向鼠标点位置运动,当释放鼠标左键时,角色停止运动。 第32章 运动模糊效果 MotionBlur 演示运动模糊效果的实现,通过窗口下面的滑竿控件可以调节小球的运动速度。 第33章 凹凸纹理映射应用 1、BumpUnderWater 演示使用凹凸纹理映射实现水下视觉效果模拟。 2、BumpWaves 演示使用凹凸纹理映射实现水波效果模拟。 第34章 短毛发实时绘制 Fur 演示使用纹理映射实现短毛发的实时绘制。 第35章 体积雾 VolumeFog 演示使用ASM渲染语言实现体积雾效果。


网友评论

  • 受益匪浅,学习了不少知识
  • 很好,里面是知识挺基础的,画面也可以
  • 基础书,还不错
  • 原来是c++的 资料很全的
  • 很好,里面是知识挺基础的,画面也可以
  • 不错的资源,教材参考实例学习效率高
  • 3D游戏开发等,都值得一学啊
  • 谢谢分享,代码很全面,是Direct3D方面的代码,AlphaTest不是我想要的
  • 博大精深太难学了
  • 实在很高深,学的我惨啊。
  • 很好,里面是知识挺基础的,画面也可以