《DirectX Shaders——3D地形》

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

《DirectX Shaders——3D地形》 使用最通俗易懂的方式教学。即使最晦涩难懂的专业知识,您也可以轻松掌握,不会让您因为书本的枯燥而放弃学习。 教学的每个环节都有可以执行代码、资源等文件提供,所有的代码在教程中都配有深入详细的讲解。使用《DirectX 可编程渲染管线——3D地形》,您可以亲自动手修改或重写每个环节的源代码,能够帮助您以最快速度从原理学习转入实践操作阶段,最终制作出真实的3D地形。

目录

3D地形 代码在线演示

3D地形平滑处理 代码在线演示

3D地形引擎及摄像机移动 代码在线演示

3D地形高度光照 代码在线演示

3D地形光照图 代码在线演示

3D地形斜坡光照 代码在线演示

 

1、渲染管线的概念与组成部分

      可编程渲染管线的优点

       渲染管线的概念

      渲染管线的各个阶段

2、初始化Direct3D

      设备类型

      特征级别

      创建后台渲染目标与视口

      清除与显示

3、HLSL

      什么是HLSL

      HLSL语法

         数据类型

         流程控制

         语意

         函数

4、编写顶点与像素着色器并绘制三角形

      编写顶点与像素着色器

      编译与创建顶点与像素着色器

      输入布局与输入汇编阶段的实现

      创建顶点缓冲区

      绘制三角形

5、设置三角形的颜色

      着色器中结构体的使用

      着色器中对颜色的处理

      设置颜色输入布局

6、变换的分析

      世界的变换

      观察变换

      投影变换

7、旋转的三角形

      常量缓冲区的作用

      常量缓冲区的创建

      常量缓冲区的更新

      设置光栅化状态

8、创建深度缓冲区与绘制多个三角形

      深度缓冲区的描述

      创建深度缓冲区

      设定深度缓冲区到输出合并阶段

      绘制多个三角形

9、创建索引缓冲区并绘制三角形

      索引的原理

      创建索引的缓冲区

      使用索引绘制三角形

10、纹理

      纹理的映射原理

      读取纹理并创建采样状态

      设置纹理输入布局

      着色器接收并绘制纹理

11、地形网格

      地形网格的组成

      地形网格信息描述

      地形网格顶点信息描述

      地形网格信息初始化

12、地形网格顶点与纹理坐标的计算

      计算地形网格的“起点与终点”

      计算每个地形网格纹理的“宽度与高度”

      根据地形网格的“起点与终点”计算每个顶点的位置

      根据地形网格纹理的“宽度与高度”计算纹理坐标

      地形网格顶点缓冲区的创建

13、地形网格索引值的计算

      地形网格顶点存放的顺序

      地形网格索引值存放位置的计算

      地形网格索引值与顶点的对应关系的计算

      地形网格索引缓冲区的创建

14、绘制地形网格

      设置地形网格的顶点与索引缓冲区

      绘制地形网格

15、高度图

      高度图的作用

      RAW类型的文件

      高度图信息的描述

      读取高度图信息

      根据顶点的位置信息提取高度值

      使用高度值设置顶点

      释放高度图信息所占用的存储空间

16、地形网格的平滑处理

      地形网格平滑处理的作用

      地形网格平滑处理的原理

      寻找符合条件的高度信息进行平滑处理

      处理不符合条件的高度信息

      保存地形平滑处理以后的信息

      把平滑处理以后的信息应用到对应的地形顶点中

17、摄像机的移动

      摄像机类的描述

      观察与投影变换的设置

      键盘按键值的判断

      根据键盘的按键值控制摄像机的移动

18、地形引擎

      地形与地形网格的关系

      地形引擎的结构

      地形引擎类的描述

      地形网格节点的描述

      地形网格偏移量的计算

      地形引擎的初始化

      根据高度图信息创建地形网格

      通过地形引擎进行绘制

19、让地形产生不同类型的变化

      通过地形引擎读取多张的高度图

      根据不同类型的高度图来创建地形网格

      把不同类型的地形网格应用到地形引擎的各个节点中

20、应用不同的地形纹理

      通过地形引擎读取多张的地形纹理

      创建每个地形纹理的资源与采样状态

      设置每个纹理资源与采样状态

21、相邻地形网格边界的平滑处理

      地形网格边界平滑处理的原理

      从当前地形网格查找符合条件的高度信息

      从邻接地形网格查找符合条件的高度信息

      综合当前与邻接地形网格的高度信息进行平滑处理

      把平滑处理以后的结果应用到对应的地形网格边界的顶点上面

22、基于高度的光照地形

      基于高度的光照地形原理

      获取地形网格顶点的高度信息

      根据高度信息计算亮度值

23、基于光照图的地形

      描述光照图的信息

      读取光照图

      根据光照图信息计算亮度值

24、基于斜坡的光照地形

      基于斜坡的光照地形原理

      确定光照计算的方向

      计算地形阴影值

25、地形网格(类型2)

      地形网格(类型2)的特点

      地形网格(类型2)信息的初始化

      计算地形网格(类型2)的顶点位置

      创建地形网格(类型2)的顶点缓冲区

      计算地形纹理中子纹理的坐标

      计算地形网格(类型2)的索引值

      创建地形网格(类型2)的索引缓冲区

      通过地形引擎使用“地形网格(类型2)”对地形信息进行初始化

26、地形网格(类型2)应用高度与光照

      应用高度图的信息

      应用光照信息