渲染管道几何阶段四“几何着色器”
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渲染管道几何阶段四“几何着色器”相关的知识,希望对你有一定的参考价值。
1. 几何着色(Geometry Shader)
可编程,可选的阶段。
将输入的点或线扩展成多边形,可以将一个或多个顶点转变为完全不同的基本图形(或称为图元),从而生成比原来多得多的顶点。
eg. 可以通过让每个三角形创建线边,将三角形网格转换为线框。或者,可以将这些线替换为面向观察者的四边形,从而使线框渲染的边缘更厚。
输入信息:完整的图元(比如,点),为图元(点,线,三角面)
输出信息:一个或多个其他的图元(比如,三角面),或者不输出任何的图元。
- 可以对顶点进行增删改操作
- 并行程度低,调用硬件困难,性能比顶点着色器差很多
2. 用处
2.1 粒子系统
粒子系统的实现便是使用的GS。在 Dx10 被引入, 在图元外添加(tesselation 为图元内添加)额外的 vertex, 将原始图元转为新图元, 构建不一样的模型
- 使用一个 vertex 代表一个粒子
- 在该阶段将每个 vertex 拓展成两个三角形以形成一个正方形
- 可以使用几何着色器来决定下一个粒子的位置, 新建一个 vertex
2.2
- 有效地创建级联阴影图以生成高质量的阴影。
- 沿着轮廓拉伸进行毛发渲染以及找到对象边缘。
- 可以为一个模型进行蒙皮,然后再次使用蒙皮后的顶点
eg. 左边为metaball, 中间“利用 GS和流输出进行线段分形细分,利用GS生成闪电”, 布料模拟是“使用顶点和几何着色器的Stream Output来实现”
以上是关于渲染管道几何阶段四“几何着色器”的主要内容,如果未能解决你的问题,请参考以下文章