Geometry Shader In Brief
DX10 Tutorial中几句话还真是精辟啊……怎么看怎么像Edit Mesh Modifier啊
The benefit of the geometry shader that it allows manipulation of meshes on a per-primitive basis. Instead of running a computation on each vertex individually, there is the option to operate on a per-primitive basis. That is, vertices can be passed in as a single vertex, a line segment (two vertices), or as a triangle (three vertices).
In addition to allowing access to whole primitives, the geometry shader can create new primitives on the fly.
The geometry shader in Direct3D 10 can read in a single primitive (with optional edge-adjacent primitives) and emit zero, one, or multiple primitives based on that.
For instance, it is possible to read in individual vertices, and generate multiple triangles based on those. This allows a wide range of new ideas to be executed on the graphics pipeline without CPU intervention.
The geometry shader exists between the vertex and the pixel shaders in the graphics pipeline.