A programmable function in display adapters that offers a graphics application programmer flexibility in rendering an image. The vertex shader is used to transform the attributes of vertices (points of a triangle) such as color, texture, position and direction from the original color space to the display space. It allows the original objects to be distorted or reshaped in any manner. The output of a vertex shader along with texture maps goes to an interpolation stage and then to the pixel shader. The pixel shader is another programmable function that allows flexibility in shading an individual pixel. Whereas vertex shaders can be used to completely transform the shape of an object, pixel shaders are used to change the appearance of the pixels.