Chapter11 The Geometry Shader (Introduction to 3D Game Programming with DirectX 11)笔记

本文介绍了DirectX 11中的几何着色器(GS)如何在图形管线中工作,包括如何编程实现、性能考虑以及在树型billboard demo中的应用。GS允许在GPU上增加、删除几何体,实现有趣效果。文章还讨论了纹理数组的使用,如何采样和加载,并解释了如何利用SV_PrimitiveID映射不同纹理。此外,针对纹理边缘裁剪问题,提出了ALPHA-TO-COVERAGE技术来优化抗锯齿效果。
摘要由CSDN通过智能技术生成

GS 是位于 VS和PS之间的一个可选可编程阶段。以下引用 http://gad.qq.com/program/translateview/7166528

★ IA——输入组装器(Input Assembler)。用于读取索引和顶点数据并进行组装。

★ VS——顶点着色器(Vertex Shader)。获取输入的顶点数据,将处理完毕的顶点数据写入下一个阶段。

★ PA——图元装配器(Primitive Assimbly)。读取顶点数据,组装成图元并继续沿着管线传递。

★ HS——外壳着色器(Hull Shader)。接收装配好的图元,将变换过的(或者没变换的)装配控制点写入域着色器(Domain Shader),再加上经过细分的额外数据。

★ TS——细分阶段(Tessellator Stage)。创建顶点并连通细分的直线或三角面。

★ DS——域着色器(Domain Shader)。取出已着色的控制点、外壳着色器中的额外数据以及细分阶段中的细分位置,并把它们再次变换成顶点。

★ GS——几何着色器(Geometry Shader)。输入图元,有时候可以附加邻接信息,然后输出成不同的图元。对于图元中心也是如此。。。

★ SO——输出流(Stream-Out)。将几何着色器的输出(如变换后的图元)写入内存缓冲中去。

★ RS——光栅器(Rasterizer)。对图元进行光栅化。

★ PS——像素着色器(Pixel Shader)。将经过插值的顶点数据输出像素颜色。还可以写入到无序访问视图。

★ OM——输出混合器(Output Merger)。从像素着色器得到着色后的像素,做半透明混合处理并把它们写回渲染缓冲区。

★ CS——计算着色器(Compute Shader)。它自己有一套独立的管线。输入只有常量缓冲区和线程ID。可以写入到缓冲区和无序访问视图。。

其实上面的之前的章节也写过上面各个阶段的说明,这里贴一下回忆一下。

for(UINT i = 0; i < numTriangles; ++i)
                Output

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值