DirectX 11 学习笔记-06【几何着色器】

几何着色器 

几何着色器以完整的图元作为输入数据。例如绘制三角形列表时,几何着色器处理的是列表中的每个三角形。顶点着色器无法创建或销毁顶点,而几何着色器可以创建销毁几何体。在离开几何着色器之前,顶点坐标必须变换到齐次裁剪空间。 

几何着色器编程与顶点/像素着色器相似,一般格式如下 

[maxvertexcount(N)] 

void ShaderName ( 

PrimitiveType InputVertexType InputName [NumElements], 

inout StreamOutputObject<OutputVertexType>OutputName) 

{ 

// Geometry shader body... 

} 

maxvertexcount属性用于指定几何着色器每次输出的顶点的最大数量。从性能上考虑maxvertexcount的值应当尽可能小。 

几何着色器一般有一个输入参数和一个输出参数。输入参数总是一个顶点数组,它可以表示单个顶点,直线,三角形,四个顶点构成的邻接信息的直线和6个顶点构成的带有邻接信息的三角形。输入顶点类型与顶点着色器的返回类型相同。此外必须加上一个图元类型的前缀用于描述输入图元的类型,可用的参数有point、line、triangle、lineadj和triangleadj。 

输出参数是一个由inout修饰的流对象,一共有三种类型 

PointStream<OutputVertexType>:描述单个点的顶点列表。 

LineStream<OutputVertexType>:描述直线线带的顶点列表。 

TriangleStream<OutputVertexType>:描述三角形线带的顶点列表。 

使用Appe

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值