Method and system for accelerating noise
AssigneeMicrosoft Corporation
InventorsThomas M. Olano, Mark S. Peercy
Life of this patent
Estimating the term…
Abstract
One aspect of the invention is a method for accelerating noise. The method includes the step of creating a plurality noise texture values (n1, . . . , nn) each corresponding to one of a plurality of image pixel values (x1, . . . , xn). The method also includes invoking at least a portion of a graphics pipeline (17) to blend each of the plurality of image pixel values (x1, . . . , xn) with one of the plurality of noise texture values (n1, . . . , nn).
Claims32
A method for accelerating noise, comprising:
- determining a first noise value based on a first noise function;
- determining a second noise value based on a second noise function;
- determining a noise texture value based on the first noise value and the second noise value;
- and
- assigning a randomly generated gradient value to one of the group consisting of a color channel and an alpha channel in a graphics pipeline, assigning a kernel value to the alpha channel corresponding to the color channel if the gradient value was assigned to the color channel, else if the gradient value was assigned to the alpha channel then assigning the kernel value to the color channel corresponding to the alpha channel, and blending the gradient value with the kernel value to produce the noise texture value.
A method for accelerating noise, comprising:
- blending an image pixel value with a first noise function to yield a first stage result;
- blending the image pixel value with a second noise function to yield a second stage result;
- blending the first stage result and the second stage result to yield a textured image pixel value;
- and
- assigning a randomly generated gradient value to one of the group consisting of a color channel and an alpha channel in a graphics pipeline, assigning a kernel value to the alpha channel corresponding to the color channel if the gradient value was assigned to the color channel, else if the gradient value was assigned to the alpha channel then assigning the kernel value to the color channel corresponding to the alpha channel, and blending the gradient value with the kernel value to produce the noise texture value.
A computer-readable medium having computer-readable instructions thereon for accelerating noise, the computer-readable instructions when executed on a processor causing the processor to perform:
- invoking a graphics pipeline to perform:
- determining a first noise value based on a first noise function;
- determining a second noise value based on a second noise function;
- determining a noise texture value based on the first noise value and the second noise value;
- and
- assigning a randomly generated gradient value to one of the group consisting of a color channel and an alpha channel in a graphics pipeline, assigning a kernel value to the alpha channel corresponding to the color channel if the gradient value was assigned to the color channel, else if the gradient value was assigned to the alpha channel then assigning the kernel value to the color channel corresponding to the alpha channel, and blending the gradient value with the kernel value to produce the noise texture value.
A computer-readable medium having computer-readable instructions thereon for accelerating noise, the computer-readable instructions when executed on a processor causing the processor to perform:
- invoking a graphics pipeline to perform:
- blending an image pixel value with a first noise function to yield a first stage result;
- blending the image pixel value with a second noise function to yield a second stage result;
- blending the first stage result and the second stage result to yield a textured image pixel value;
- and
- assigning a randomly generated gradient value to one of the group consisting of a color channel and an alpha channel in a graphics pipeline, assigning a kernel value to the alpha channel corresponding to the color channel if the gradient value was assigned to the color channel, else if the gradient value was assigned to the alpha channel then assigning the kernel value to the color channel corresponding to the alpha channel, and blending the gradient value with the kernel value to produce the noise texture value.
A system for accelerating noise, comprising:
- a graphics pipeline comprising a frame buffer;
- and
- a host in communication with the graphics pipeline, the host operable to invoke the graphics pipeline to perform:
- determining a first noise value based on a first noise function;
- determining a second noise value based on a second noise function;
- determining a noise texture value based on the first noise value and the second noise value, wherein one of the graphics pipeline and the host is further operable to assign a randomly generated gradient value to one of the group consisting of a color channel and an alpha channel in the graphics pipeline, assign a kernel value to the alpha channel corresponding to the color channel if the gradient value was assigned to the color channel, else if the gradient value was assigned to the alpha channel then assign the kernel value to the color channel corresponding to the alpha channel, and cause the gradient value to be blended with the kernel value to produce the noise texture value.
A system for accelerating noise, comprising:
- a graphics pipeline comprising a frame buffer;
- and
- a host in communication with the graphics pipeline, the host operable to invoke the graphics pipeline to perform:
- blending an image pixel value with a first noise function to yield a first stage result;
- blending the image pixel value with a second noise function to yield a second stage result;
- blending the first stage result and the second stage result to yield a textured image pixel value, wherein one of the graphics pipeline and the host is further operable to assign a randomly generated gradient value to one of the group consisting of a color channel and an alpha channel in the graphics pipeline, assign a kernel value to the alpha channel corresponding to the color channel if the gradient value was assigned to the color channel, else if the gradient value was assigned to the alpha channel then assign the kernel value to the color channel corresponding to the alpha channel, and cause the gradient value to be blended with the kernel value to produce the noise texture value.
Dependencies are inferred from the claim text.