GPU scene composition and animation
AssigneeMicrosoft Corporation
InventorsAshraf Michail, Gerhard Schneider
Life of this patent
Estimating the term…
Abstract
Architecture that expresses scene composition and animation in a form that can run entirely on the graphics processing unit (GPU). The architecture stores retained graph information (e.g., scene graph and animation information) as texture information, and uses shaders (e.g., vertex and pixel) to evaluate time information, evaluate animation, evaluate transforms, and rasterize paths. Additionally, the architecture provides the ability to compute animation positions and redraw entirely on the GPU without per primitive CPU intervention.
Claims18
A graphics processing system, comprising:
- a texture component for converting retained graph information into retained graph texture information that includes time information stored as time texture information and animation information stored as animation texture information;
- and
- a shader component for evaluating the retained graph texture information entirely on a graphics processing unit (GPU), the shader component including:
- a first pixel shader that evaluates the time texture information and outputs progress texture information based on the time texture information;
- a second pixel shader that receives the progress texture information and the animation texture information, interpolates the animation texture information based on the progress texture information, and outputs at least one of color texture information, position texture information, or opacity texture information based on the progress texture information and the animation texture information;
- and
- a vertex shader that receives at least path vertex data and texture information output from the second pixel shader, and outputs transformed vertex data based on the path vertex data and texture information output from the second pixel shader.
A graphics processing system, comprising:
- a texture component of a GPU for converting retained graph information into retained graph texture information that includes time information stored as time texture information;
- one or more pixel shaders of the GPU for evaluating the time texture information and outputting progress texture information based on the time texture information;
- and
- a vertex shader of the GPU,
- the vertex shader and at least one of the one or more pixel shaders configured to evaluate transform composition as transform texture information.
A method of processing graphics, comprising:
- converting retained graph information including timing information into retained graph texture information including timing texture information;
- evaluating the retained graph texture information on a GPU using one or more pixel shaders and one or more vertex shaders;
- processing the timing texture information using the one or more pixel shaders to output progress texture information based on the timing texture information and processing the progress texture information and animation texture information using the one or more pixel shaders to generate animation transform opacity and colors texture information;
- storing timing node information in a first texture, animation node information in a second texture, and description of scene graph transforms in a third texture;
- and
- processing the timing node information, animation node information, and description of scene graph transforms to perform final scene rasterization.
Dependencies are inferred from the claim text.