The invention introduces a geometry shader which can operate on primitives including points, lines, and triangles, and advantageously, new geometry can be generated inside the pipeline by a tesselator operating in one of a limited number of pre-set modes, or relatively arbitrarily by a programmable geometry shader.