As mentioned in the background, a resource contention issue sometimes occurs due to the demands of different components of the graphics pipeline where specific components are required for a specific task, which can lead to a bottleneck in that area of the pipeline. Current graphics pipelines require optimization by the programmer in order to use the resources most effectively in the pipeline. Even with the best optimization schemes, however, prior art hardware itself is fixed, and thus there are times when the pixel shader or vertex shader remain idle, for instance, when the computations involve heavy matrix manipulation and the vertex shader is unable to compute such values fast enough. Thus, the pipeline may have bottlenecks due to excessive processing by the vertex shaders while the pixel shaders sits idle, or vice versa. In accordance with the invention, since shaders are able to function as one another, where a pixel shader can be reconfigured to function as a vertex shader, the underlying resources of the graphics chip can be optimized for the tasks being asked of the graphics chip. Moreover, as mentioned, the invention introduces a new class of shader referred to herein as a geometry shader, that provides another specialized set of processing capabilities. The common core provided by the invention can thus be configured as any of a vertex shader, a pixel shader and a geometry shader.