• DirectX 图形流水线


    Direct3D 的可编程流水线用来为实时游戏渲染图形(一个词概括——实时渲染)

    上面的图是Dx11的实时渲染流水线,Dx的几个版本都是向下兼容的。

    Input-Assembler Stage:  输入汇集阶段,将所有的数据(三角形,线,点)提供给流水线。

    Vertex-Shader Stage:顶点着色阶段,这一阶段主要处理顶点。主要的操作有:变换(transformation)、纹理?(skinning)、照明(lighting)。一个定点着色器永远接纳单一的顶点输入并产生单一的顶点输出。

    Geometry-Shader Stage:几何体着色器阶段,这一阶段处理整个原始基本几何体。输入是一个完整的基本几何体(三个顶点一个三角形、两个顶点一条线、一个顶点一个点)。除此之外,每一个基本元还包括邻近边的顶点数据,意味着三角形额外包含3个顶点,一条线额外包含两个顶点。几何体着色器还支持有限的几何体放大和缩小。给定一个输入基本元,几何体着色器可以忽略或放弃该基本元。

    Stream-Output Stage:将基本元数据从流水线中流进内存进行光栅化。流进内存的数据可以作为输入数据回环进流水线。

    Rasterizer Stage:  光栅器围绕基本元,为像素着色器准备基本元(片元?)。光栅器决定了如何调用像素着色器。

    Pixel-Shader Stage:像素着色器为一个基本元接收插值数据并产生每一个像素数据(比如颜色)。

    Output-Merger Stage: 输出合并阶段,根据渲染目标和深度/模板缓冲区的内容组合各种类型的输出数据,然后产生最后的流水结果。

    Hull-shader,曲面细分(Tessellator,镶嵌器),域着色器阶段,这些共同组成了tessellation阶段。曲面细分阶段将高阶的面(曲面,不在同一平面上)转化为三角形,来渲染。

  • 相关阅读:
    OC-字典
    作业
    block语法排序 遍历
    oc-NSArray
    oc之获取系统当前时间的方法
    修改mysql的默认字符集
    mysql查询结果添加序列号
    PHP Socket 编程过程详解
    一篇详细的 Mysql Explain 详解
    阿里云云主机挂载数据盘,格式化硬盘(新购云主机)(转)
  • 原文地址:https://www.cnblogs.com/san-fu-su/p/5765961.html
Copyright © 2020-2023  润新知