System and method providing motion blur to rotating objects
AssigneeDisney Enterprises, Inc.
InventorsDamyan Pepper, George Foot
Life of this patent
Estimating the term…
Abstract
In graphics applications, objects including rotating objects having geometric detail or surface relief are rendered in render targets where pixels are assigned color and depth values by color and depth buffers. A pixel shader performs ray intersection calculations on a primitive approximating the object in the render target to generate three-dimensional world space positions for the pixels. Samples for each pixel are taken around a primitive's axis of rotation, and for each sample, the object in the render target is queried to gather color and depth data for the pixel. The query results are composited and a blurred object is provided in a scene at a desired location and at a depth according to depth data retrieved from the depth buffer.
Claims18
A computer implemented method for motion blurring rotating objects in a scene comprising:
- rendering an object from the scene in a render target, the render target comprising at least a color buffer and a depth buffer;
- generating one or more three-dimensional world space positions for a pixel in the object;
- sampling the pixel around an axis of rotation of the object at a plurality of rotational positions for the generated one or more three-dimensional world space positions for the pixel by retrieving a set of color and depth data from the color and depth buffers for each of the plurality of rotational positions sampled;
- and
- compositing the retrieved set of color and depth data for the pixel to provide the object with a blurred texture in the scene.
A computer implemented method for motion blurring a rotating wheel on a screen, comprising:
- rendering a wheel from a scene to an off-screen render target, said render target comprising a color buffer and a depth buffer;
- rendering a remainder of the scene to a main render target;
- performing blurring calculations using a primitive to blur the wheel while compositing a wheel texture into the scene using a set of depth data from the depth buffer and a set of color data from the color buffer.
A computer implemented method for motion blurring comprising:
- providing a graphics processing unit comprising a pixel shader, wherein said graphics processing unit in combination with the pixel shader performs the steps of:
- rendering a wheel in an off-screen render target as a sprite or a primitive;
- performing a ray intersection of a ray extending though a camera into the render target to find a ray/wheel intersection point, wherein the intersection point provides a three-dimensional position of a pixel being shaded;
- querying an off-screen render target using the three-dimensional position of the pixel to retrieve a set of color data from a color buffer and a set of depth data from a depth buffer for a plurality of points around a rotational axis of the wheel;
- and
- compositing the retrieved data to provide the wheel with a blurred texture in a scene at a depth according to the depth data retrieved from the depth buffer.
Dependencies are inferred from the claim text.