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阶段。曲面细分阶段将高阶的面(曲面,不在同一平面上)转化为三角形,来渲染。
DirectX 图形流水线的更多相关文章
- CUDA编程-(3)图形流水线时代
图形流水线时代 图中所说的顶点,为多边型的角.GeForce系列设计图形流水型的目的就是渲染三角形的图元,这里指三角线图元的角.三角形图元越小,图片的质量就越好. 顶点控制的作用:从CPU中,接受参数 ...
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(9)——R600显卡的3D引擎和图形流水线
1. R600 3D引擎 R600核心是AMD一款非常重要的GPU核心,这个核心引入了统一处理器架构,其寄存器和指令集同以前的GPU 都完全不同,对其编程也有比较大的区别. 图1显示了R600 GPU ...
- 64 计算机图形学入门(1)——OpenGL环境配置与图形流水线(图像管线)
0 引言 最近想学一下计算机图形学方面的知识,原因如下.目前本人接触了数字图像处理(opencv)以及点云处理(PCL)方面的知识,对从图像和点云中提取特征信息,并将特征转化为底层/中层语义信息有了一 ...
- 【转载】关于OpenGL的图形流水线
本文转载自 http://blog.csdn.net/racehorse/article/details/6593719 GLSL教程 这是一些列来自lighthouse3d的GLSL教程,非常适合入 ...
- 【GLSL教程】(一)图形流水线 【转】
http://blog.csdn.net/racehorse/article/details/6593719 这是一些列来自lighthouse3d的GLSL教程,非常适合入门.我将边学习边翻译该教程 ...
- DirectX 发展历程
在Windows下开发游戏,大家都会联想到DirectX.实际上,DirectX并不等同于游戏,它也不是写游戏程序的唯一选择.其实,DirectX只是提供了一种更直接的控制硬件的API库而已.当然,它 ...
- 两天学会DirectX 3D之第二天
提要 前几天非常easy地跑了一个DirectX 9 程序,以为DirectX就那么绘制,事实证明有点Naive了. 之前的那个程序最多也就是个固定流水线的东西. 可是今天要用DirectX11来写一 ...
- 3D图形渲染管线
3D图形渲染管线 什么是渲染(Rendering) 渲染简单的理解可能可以是这样:就是将三维物体或三维场景的描述转化为一幅二维图像,生成的二维图像能很好的反应三维物体或三维场景(如图1): ...
- Windows 8 DirectX 和Xaml UI 混合处理方案
原文 http://www.cnblogs.com/chenkai/archive/2012/11/29/2794983.html [如果不想读这么长问题描述和通用的解决方案. 可以直接skip 这段 ...
随机推荐
- MinGW 与MSVC的区别
Qt 中有两种方式编译,一种是MinGW ,另一种MSVC. 其中:MSVC是指微软的VC编译器 MingGW是指是Minimalist GNU on Windows的缩写.它是一个可自由使用和自由发 ...
- 利用C#与AE调用GP工具
转自原文 利用C#与AE调用GP工具 第一,首先要明确自己需要调用arctoolbox里面的什么工具,实现什么样的功能. 第三,编写command或tool工具,编写自己要的功能工具. 1)首先创建一 ...
- c#List泛型数据扩展,把List<>型数据格式化成List<SelectListItem>,用来作dropdownlist的数据
代码例如以下 public static List<SelectListItem> CreateSelect<T>(this IList<T> t, string ...
- thinkphp将excel导入到数据库中
首先下载phpexcel插件 http://pan.baidu.com/s/1hq56dFm 我用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一 ...
- 数组filter方法对数组元素进行过滤
Array.prototype.filter对数组中元素进行过滤 /** * @method reduce * @param {number} item 当前迭代的数组元素 * @param {num ...
- AE属性表操作
转自chanyinhelv原文AE属性表操作 实现的操作包括:1.打开属性表:2.编辑属性表:3.增加属性列:4.数据排序:5.字段计算…… 嗯,实现的功能目前就这些吧,后续还会继续跟进,还望大家多多 ...
- matplotlib plot 绘图函数发生阻塞(block)时的解决方法
Is there a way to detach matplotlib plots so that the computation can continue? 在一般编辑器中: from matplo ...
- 无法写入预编译头文件,由于 IO 设备错误,无法运行此项请求的错误的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 早上查看服务器每日构建的情况,发现出现一个诡异的错误: fatal error C1085: 无法写入预编译头文件:& ...
- 【codeforces 534A】Exam
[题目链接]:http://codeforces.com/contest/534/problem/A [题意] 给你n个人,要求任意两个编号相邻的人不能相邻; 让你安排座位方案,使得最多人的可以入座 ...
- ue 不能初始化ftp组件
进入到ue的安装目录下shift并右键-->在此处打开命令窗口,执行以下命令 regsvr32.exe wodFtpDLX.dll,如果是64位要执行regsvr32.exe wodFtpDLX ...