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阶段。曲面细分阶段将高阶的面(曲面,不在同一平面上)转化为三角形,来渲染。
最新文章
- ZeroMQ接口函数之 :zmq_bind - 绑定一个socket
- iframe布局
- Python导入模块出现“no module named **”可能是这样的原因
- Android学习 之 ColorStateList按钮文字变色
- ffmpeg使用转码学习
- poj 1002:487-3279(水题,提高题 / hash)
- 误删dpkg的/var/lib/dpkg/info文件夹的解决办法 zhuan
- HTML <;!--...-->; 注释 、CSS/JS //注释 和 /*.....*/ 注释
- android设置图片自适应控件大小
- android组件间共享数据的常用方法
- 13年山东省赛 The number of steps(概率dp水题)
- HTML常用字符
- 关于split与StringTokenizer的理解
- python自动安装mysql5.7
- cf 1142 C
- 10_java基础——构造器里调用构造器
- open()函数 linux中open函数使用
- Angular4.0引入第三方框架,eg: bootstrap、jquery
- eaeyui-combobox实现组合查询(即实现多个值得搜索)
- Java学习路线教程之JDBC基本操作
热门文章
- 跟我学AngularJs:Service、Factory、Provider依赖注入使用与差别
- ijkplayer阅读笔记02-创建音视频读取,解码,播放线程
- C++ 中的 const 类型变量
- jquery-2 jQuery原理和核心方法(多看学习视频)
- 阿里云Java镜像:基本配置和总体说明
- Codeforces Round #313 (Div. 2) 560C Gerald&;#39;s Hexagon(脑洞)
- .net core 下的分布式事务锁
- tcp注意点
- js调用百度地图api
- 数组[0]和[firstobject]的区别