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阶段。曲面细分阶段将高阶的面(曲面,不在同一平面上)转化为三角形,来渲染。

最新文章

  1. ZeroMQ接口函数之 :zmq_bind - 绑定一个socket
  2. iframe布局
  3. Python导入模块出现“no module named **”可能是这样的原因
  4. Android学习 之 ColorStateList按钮文字变色
  5. ffmpeg使用转码学习
  6. poj 1002:487-3279(水题,提高题 / hash)
  7. 误删dpkg的/var/lib/dpkg/info文件夹的解决办法 zhuan
  8. HTML <!--...--> 注释 、CSS/JS //注释 和 /*.....*/ 注释
  9. android设置图片自适应控件大小
  10. android组件间共享数据的常用方法
  11. 13年山东省赛 The number of steps(概率dp水题)
  12. HTML常用字符
  13. 关于split与StringTokenizer的理解
  14. python自动安装mysql5.7
  15. cf 1142 C
  16. 10_java基础——构造器里调用构造器
  17. open()函数 linux中open函数使用
  18. Angular4.0引入第三方框架,eg: bootstrap、jquery
  19. eaeyui-combobox实现组合查询(即实现多个值得搜索)
  20. Java学习路线教程之JDBC基本操作

热门文章

  1. 跟我学AngularJs:Service、Factory、Provider依赖注入使用与差别
  2. ijkplayer阅读笔记02-创建音视频读取,解码,播放线程
  3. C++ 中的 const 类型变量
  4. jquery-2 jQuery原理和核心方法(多看学习视频)
  5. 阿里云Java镜像:基本配置和总体说明
  6. Codeforces Round #313 (Div. 2) 560C Gerald's Hexagon(脑洞)
  7. .net core 下的分布式事务锁
  8. tcp注意点
  9. js调用百度地图api
  10. 数组[0]和[firstobject]的区别