In computer graphics applications, complex shapes and structures are formed through the sampling, interconnection and rendering of more simple shapes, referred to as primitives. These primitives, in turn, are formed by the interconnection of individual pixels. Objects are generated by combining a plurality of pixels together to form an outline of a shape (e.g. a cup). Texture is then applied to the individual pixels based on their location within a primitive and the primitives orientation with respect to the generated shape; thereby generating an object. The pixels colors are modified using textures. The individual components of a texture are called texels.
To make the rendered object look more realistic, noise is applied to the generated object resulting in the appearance of imperfections in the rendered object. Noise is applied by adding randomly generated data to the texels that comprise the object. A drawback associated with known noise generation techniques is that the noise data is independently computed for each pixel in the object. Thus, the circuitry used to generate the noise data takes up valuable real estate as such circuitry must be replicated many, many times on an integrated circuit chip surface.
Another drawback associated with known noise generation techniques is that because noise data is independently computed for each individual pixel, previously computed noise values and the information provided thereby are not reused. Thus, computational resources are wasted.