《DirectX Shaders——综合》

  DirectX 商业游戏开发全面详解系列  
《DirectX Shaders——综合》是可奇教育最新推出的一套适合广大学生朋友和初中级水平职场人士快速学习的视频教程。该教程继承可奇一贯轻松学习的理念,帮助您更加轻松和快速地掌握业内必备核心技术,在最短的时间内理解核心概念、原理、框架,并通过真实的动手实践,将最核心的知识点牢固掌握。

《DirectX Shaders——综合》 使用真实的商业游戏“魔兽争霸”作为教程中的例子。 教学的每个环节都有可以执行代码、资源等文件提供,所有的代码在教程中都配有深入详细的讲解。使用《DirectX 可编程渲染管线——综合》,您可以亲自动手修改或重写每个环节的源代码,能够帮助您以最快速度从原理学习转入实践操作阶段,最终制作出真实的3D商业游戏。

《DirectX Shaders——综合》

1、对象

     对象的作用

     对象与模型的联系

     对象的描述

     对象的应用

     对象信息的初始化

     模型的批量读取

     绘画对象

 

2、读取对象与地形纹理信息

      读取对象的信息

      读取地形纹理信息

      读取并设置摄像机的起始位置

      设置地形位置

      设置摄像机的观察方式

      雾的设置

 

3、添加对象的动画控制功能

      对象动画信息的描述

      以对象为单位的模型动画的播放控制

      显示模型动画

 

4、角色的动画控制

      读取角色

      绘画角色动画

      通过对象描述不同动画集的切换信息

      分配不同动画集切换的顶点缓冲区

      处理不同动画集切换的状态

      绘画切换后的动画集

      通过鼠标控制不同动画集的切换

 

5、角色的方向控制

      计算鼠标在世界空间中的位置

      角色的描述

      确定角色与鼠标的位置

      判断角色转动的方向

      设置角色转动的角度

 

6、寻路的原理

      寻路的必要性

      寻路中的待处理列表

      寻路中的历史最佳距离

      路径节点的排序

 

7、寻路的实现

      描述路径节点

      寻路代码结构的介绍

      寻路代码执行的流程

      加载节点到待处理列表

      提取待处理列表中的节点

      历史最佳记录的判断

      保存找到的最佳移动路径

 

8、寻路的应用

      计算地形节点的下标

      计算地形子网格的下标

      获取地形的障碍信息

      设置并判断寻路的范围

      描述角色寻咱的信息

      转换鼠标与角色的位置信息

      判断是否允许寻路

 

9、角色的移动

      角色按照路径移动的原理

      角色移动时自动改变移动方向

      获取并转换路径节点

      判断路径节点是否为障碍

      判断是否允许取下一个路径节点

      设置角色的移动状态

      判断角色是否允许移动

 

10、敌人

      敌人的描述与初始化

      设置敌人与对象的联系

      转换敌人的位置信息

      敌人方向的改变

      判断是否允许敌人寻路

      获取并转换敌人路径节点

      判断敌人路径节点是否为障碍

      判断敌人是否允许取下一个路径节点

 

11、防止敌人完全重叠

      通过敌人设置障碍标志

      通过地形保存敌人的下标

      保存敌人移动前的位置信息

      删除敌人设置的障碍信息与下标

      当敌人遇到障碍时允许重新寻路

 

12、角色攻击敌人与包围盒的计算

      判断敌人是否在可攻击的范围

      模型包围盒的计算

      获取角色与敌人的信息

      判断是否击中敌人模型

      减少敌人生命值

      当敌人生命值为零时标志为死亡状态

      角色攻击动画集的判断

 

13、敌人死亡动画的控制与尸体的下沉处理

      判断死亡动画是否播放完毕

      显不敌人尸体

      控制敌人尸体下沉

 

14、清除敌人死亡后的障碍标志与对象信息

      对象的删除

      填充对象信息删除后的空缺

      清除敌人设置的障碍标志

 

15、绘画2D模型

      2D模型信息的描述

      设置2D模型的纹理坐标

      创建2D模型的顶点与索引缓冲区

      创建2D模型的世界矩阵

      创建平行投影矩阵

      绘画2D鼠标模型

 

16、显示敌人生命值

      转换敌人在世界空间中的位置到屏幕

      绘画敌人的2D生命值边框模型

      根据敌人当前的生命值进行绘画的设置

      绘画敌人的2D生命值模型

      判断鼠标是否选中了敌人并显示对应的生命值

 

17、绘画状态栏

      设置状态栏纹理坐标

      绘画状态栏背景

      判断鼠标是否在状态栏中

      控制鼠标在状态栏的点击操作

 

18、地形跟踪

      计算地形子网格的行列号

      计算对象在地形网格中的位置

      判断对象在地形网格中哪个三角形上

      计算地形子网格在顶点缓冲区中的下标

      对地形网格进行影射

      计算对象所在位置的地形高度

 

19、光效

      光效的原理

      光效的设置

      光效的绘制

 

20、平截头体的计算与剔除判断

      什么是剔除以及剔除的重要性

      什么是平截头体

      平截头体的计算原理

      计算平截头体中的六个平面

      判断模型是否在平截头体的范围内

 

21、绘画缩略图与显示角色位置

      设置缩略图单元的大小

      绘画缩略图单元

      设置角色所在位置的标志

      清除角色旧的位置标志

      绘画角色在缩略图中的位置

 

22、通过缩略图定位摄像机

      通过缩略图定位的原理

      计算地形与缩略图的大小

      根据鼠标在缩略图中的点击进行定位计算

      设置摄像机的位置与观察点