【初探 第一章】DirectX 的前世今身

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34536551/article/details/78379718

DirectX 的组成部分


DirectX 是一个代码库集合,提供给游戏多媒体应用一个公共的函数集合。 为了确保你的游戏只需要使用必须的函数DirectX 被划分为多个组件

DirectX SDK 提供了大量的信息用于怎样使用游戏管理器管理你自己的游戏,当游戏安装时特别有用。


Direct3D 11 的阶段


Direct3D 不仅仅是一个 API 接口;它是一个转换几何形状和现实世界图像的工具集。

Direct3D 通过多个阶段处理你的场景, 每一个阶段执行一个具体的任务集来产生最终的图像。 这些阶段就是著名的 Direct3D 的渲染管线

这里写图片描述


渲染管线的第一个阶段叫做输入装配阶段。 此阶段我们设置的几何体以及必要的Direct3D 信息将执行输入装配任务

第二阶段是顶点着色器(VS)阶段。 顶点就是组成各种形状如三角形上的单一的点。 此阶段我们能够运行顶点着色器代码处理每一个顶点, 来建立我们所设置的特效。 一个顶点着色器总是以单一的顶点作为输入并且同样输入单一的顶点。 这些被输入的顶点数据就来自于输入装配阶段处理后的结果

● 第三,四,五阶段是处理细分曲面技术(Tessellation)的阶段。 Tessellation 技术是一个高级主题,它由两个新的着色器外壳着色器(Hull)和域(Domain)着色器完成。

外壳着色器的输入来自于顶点着色器的输出,它在控制点和数据上进行处理, 不同于传统的顶点,并且输出支配各个块状的控制点(译者注:其实一块区域并不是由所有的点进行支配,只需要选择其中的一部分点即可定义此块区域)。

细分曲面技术阶段就发生在 HSDS 阶段之间, 它是一个固定的函数阶段,使用外壳着色器输出的控制点在硬件上进行曲面的细分。 而域着色器就处理那些细分后所产生的大量的点。

● 第六阶段是几何(Geometry)着色器阶段,同样是着色器操纵的阶段。 如果没有发生细分曲面的步骤,则几何着色器阶段就直接在 VS 阶段后发生。 几何着色器操纵几何实体例如三角形,而 VS 只是处理构成几何形状的单个点几何着色器能根据你所尝试创建特效的需要来创建或者销毁几何体。

第七阶段就是光栅化阶段, 其任务就是通过裁剪剔除几何体来决定哪些点需要被显示,设置好像素着色器,并且决定像素着色器怎样被调用

第八阶段是像素着色器(PS)阶段。 在 PS 阶段,着色器接受所有前面的阶段产生的几何数据并且将组成那些形状的数据转化为像素(有时被叫做片段)。 PS 输出的是单一的颜色值供最后一阶段来构最终显示在屏幕上的图像

● 最后一阶段是联合输出(Output Merger)阶段,将所有的输入结合在一起。 OM 阶段使用其他阶段输出的片段来构建最终的图像发送到屏幕上去显示

猜你喜欢

转载自blog.csdn.net/qq_34536551/article/details/78379718