2分六合

  • 热门专题

Directx11教程(17) D3D11管线(6)

作者:迈克老狼2012  发布日期:2012-04-10 11:27:58
Tag标签:    
  •     VS shader输出clip空间的顶点位置及参数信息(比如颜色)到一个FIFO中,之后PA会从该FIFO中取得顶点位置信息,并根据IA传来的primitive信息,把单独的顶点装配成点、线或者三角形。经过PA阶段后,我们不再是处理单个顶点,而是处理整个体元。

      

    image

    除了装配primitive外,PA阶段还会做一些其它的工作:

    多边形裁剪:通过clip长方体的六个面来裁剪体元,把长方体(frustum)外的部分裁剪掉。

     

    透视除法:(x/w,y/w,z/w,1),经过透视除法,把clip空间转化为归一化的clip空间,该空间依然是个长方体,但-1<=x<=1, –1<=y<=1, 0<=z<=1(注意:opengl的归一化裁剪空间-1<=z<=1)

    视口转化:把归一化的x,y坐标从(-1,1)转化到像素的窗口坐标。比如窗口为800*600,就要在它们之间做个映射关系。

    三角形背面剔除:主要是根据三角形的法向剔除背面渲染。

    计算体元的梯度,会在光栅化阶段用。

    填充模式的处理

     

         PA阶段后,会进入光栅化阶段,primitive会被光栅化成fragment(通常是quad, 2*2像素), 在光栅化的过程中,RS block会访问depth block,以便判定是否需要把该fragment传入到PS shader中去,同时也会更新depth block(此时更新depth block称为early z)。

        光栅化算法不在这儿讨论了,有兴趣可以随便找一本计算机图像学的书看看。实际的光栅化过程一般都是基于tile用zig zag的方式进行的。

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规

    <dir id='k5f7i'><del id='k5f7i'><del id='k5f7i'></del><pre id='k5f7i'><pre id='k5f7i'><option id='k5f7i'><address id='k5f7i'></address><bdo id='k5f7i'><tr id='k5f7i'><acronym id='k5f7i'><pre id='k5f7i'></pre></acronym><div id='k5f7i'></div></tr></bdo></option></pre><small id='k5f7i'><address id='k5f7i'><u id='k5f7i'><legend id='k5f7i'><option id='k5f7i'><abbr id='k5f7i'></abbr><li id='k5f7i'><pre id='k5f7i'></pre></li></option></legend><select id='k5f7i'></select></u></address></small></pre></del><sup id='k5f7i'></sup><blockquote id='k5f7i'><dt id='k5f7i'></dt></blockquote><blockquote id='k5f7i'></blockquote></dir><tt id='k5f7i'></tt><u id='k5f7i'><tt id='k5f7i'><form id='k5f7i'></form></tt><td id='k5f7i'><dt id='k5f7i'></dt></td></u>
  1. <code id='k5f7i'><i id='k5f7i'><q id='k5f7i'><legend id='k5f7i'><pre id='k5f7i'><style id='k5f7i'><acronym id='k5f7i'><i id='k5f7i'><form id='k5f7i'><option id='k5f7i'><center id='k5f7i'></center></option></form></i></acronym></style><tt id='k5f7i'></tt></pre></legend></q></i></code><center id='k5f7i'></center>

      <dd id='k5f7i'></dd>

        <style id='k5f7i'></style><sub id='k5f7i'><dfn id='k5f7i'><abbr id='k5f7i'><big id='k5f7i'><bdo id='k5f7i'></bdo></big></abbr></dfn></sub>
        <dir id='k5f7i'></dir>