What are the applications of Geometry Shader?

hi guys,
I have been played with Geometry Shader for a while, and I know I can emit vertices from Geometry Shader. However, I’m not quite sure the typical applications of GS.

Can someone give me some examples where Geometry Shader gives you lots of benefits?

Basically:

  1. Billboard expansion ( rain, fireworks, fire, explosions, blah blah )
  2. Basic terrain LOD + snow
  3. Patches/subdivision surfaces
  4. Procedural vegetation creation
  5. Decals
  6. Laser beams
  7. Spaceship motor marks
  8. Shadow volume extrussion
  9. Fur and hair
  10. All that your imagination can create :stuck_out_tongue:

However the current GS-capable hardware has three limitations:

  1. The GS speed is not exceptional
  2. The current HW can only emit maximum 1024 primitives per input.
  3. I’m not sure if all the HW supports texture fetching inside the GS. See the http://opengl.org/registry/specs/EXT/geometry_shader4.txt

it says:

Texture Access

    Geometry shaders have the ability to do a lookup into a texture map, if
    supported by the GL implementation. The maximum number of texture image
    units available to a geometry shader is
    MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT; a maximum number of zero indicates
    that the GL implementation does not support texture accesses in geometry
    shaders.

so if returns zero then you cannot fetch.

hope it helps.

Thanks a lot. It really helps

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.