← Back to Patent Explorer
US6016150A Expired / Lapsed US ⏱️ 0.0 years remaining

Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-07-30
•
Granted: 2000-01-18
•
Expires: 2017-07-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A layered graphics rendering pipeline for real time 3D animation independently renders terms in a shading model to separate image layers. The layered pipeline factors the shading model into separate image layers and renders geometry to these layers independently. Each layer can have an independent update rate and a spatial resolution different than the resolution of the output images. A compositor that supports one or more image operators composites the factored layers into an output image to generate frames of animation. To reduce rendering overhead, factored terms can be rendered once and then re-used in later frames by warping the initial rendering.

Inventors

  • 👤 Jerome E. Lengyel
  • 👤 John Snyder

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 22:12
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/005; G06T11/00; G06T11/10; G06T11/40; G06T13/00; G06T13/80; G06T15/04; G06T15/50; G06T15/60

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 111 words
A method for performing shading operations in a graphics rendering system, the method comprising: factoring terms in a shading model into separate image layers, where the shading model represents a description of shading to be applied to 3D scene geometry and the shading model is factored over a 3D object or set of 3D objects in the 3D scene geometry; separately rendering the 3D scene geometry to the separate image layers, where two or more of the layers have different rendering update rates; and combining the terms of the shading model by compositing the separate image layers using an image operator to combine the rendered image layers into an output image.
Claim 2
Independent Claim 111 words
A method for performing shading operations in a graphics rendering system, the method comprising: factoring terms in a shading model into separate image layers, where the shading model represents a description of shading to be applied to 3D scene geometry and the shading model is factored over a 3D object or set of 3D objects in the 3D scene geometry; separately rendering the 3D scene geometry to the separate image layers, where two or more of the layers have different rendering update rates; and combining the terms of the shading model by compositing the separate image layers using an image operator to combine the rendered image layers into an output image.
Claim 3
Dependent Claim 18 words
The method of claim 1 wherein two or more of the layers are rendered at different spatial resolution.
Claim 4
Dependent Claim 60 words
The method of claim 1 further including computing a 2D image warp from changes in position of characteristic points of a 3D object in the 3D scene between a previous frame and a subsequent frame and warping a rendered image layer from the previous frame to approximate change in the image layer from the previous frame to the subsequent frame.
Claim 5
Dependent Claim 103 words
The method of claim 1 wherein the method further includes computing a sprite transform for each image layer by projecting 3D object geometry into screen coordinates, finding a bounding region for the projection of the 3D object in the screen coordinates, and deriving the sprite transform from the bounding region; storing the sprite transforms for each of the corresponding image layers, where each sprite transform defines a mapping of an image layer from sprite coordinates to the screen coordinates, and 3D geometry corresponding to the image layer is rendered into a 2D space defined by the sprite coordinates to create the image layer.
Claim 6
Dependent Claim 28 words
The method of claim 4 including updating the sprite transforms of two or more of the image layers at different rates than the corresponding image layers are updated.
Claim 7
Dependent Claim 42 words
The method of claim 4 wherein the sprite transform of at least one of the image layers is used to transform an associated image layer rendered to a first spatial resolution to a second, different spatial resolution than the first spatial resolution.
Claim 8
Dependent Claim 14 words
The method of claim 1 wherein the image operator includes an over image operator.
Claim 9
Dependent Claim 22 words
The method of claim 1 wherein the image operator includes an add image operator for adding first and second image layers together.
Claim 10
Dependent Claim 25 words
The method of claim 1 wherein the image operator includes a multiply image operator for multiplying a first image layer by an array of coefficients.
Claim 11
Dependent Claim 19 words
The method of claim 1 wherein the step of combining image layers includes using two or more image operators.
Claim 12
Dependent Claim 22 words
The method of claim 10 wherein the two or more image operators include an over image operator and an add image operator.
Claim 13
Dependent Claim 17 words
The method of claim 11 wherein the two more image operators further include the multiply image operator.
Claim 14
Dependent Claim 113 words
The method of claim 1 wherein the shading model is factored into first and second lighting terms, and one of the image layers corresponding to the first lighting term represents a rendering of a 3D object illuminated by a first light source and another one of the image layers corresponding to the second lighting term represents a rendering of the 3D object illuminated by a second light source; and further including: rendering the 3D object illuminated by the first light source to a first image layer; rendering the 3D object illuminated by the second light source to a second image layer; and compositing the first and second image layers into the output image.
Claim 15
Dependent Claim 122 words
The method of claim 1 wherein the shading model is factored into first and second texture layers, and one of the image layers corresponding to the first texture layer represents a first texture mapped to 3D object geometry in the scene and another image layer corresponding to the second texture layer represents a second texture mapped to the 3D object geometry; and further including: rendering the 3D object geometry, including texture mapping a first texture image to the 3D object geometry, to compute a first image layer; rendering the 3D object geometry, including texture mapping a second texture image to the 3D object geometry, to compute a second image layer; and compositing the first and second image layers into the output image.
Claim 16
Dependent Claim 98 words
The method of claim 1 wherein one of the image layers represents a shadow layer in the 3D scene, where the scene has a viewpoint and a light source, and rendering the shadow layer includes: rendering the 3D scene from the perspective of the light source to generate a depth map; and rendering the 3D scene from the perspective of the view point to determine shadow attenuation coefficients using the depth map; wherein the shadow layer is re-rendered at a different rate than a rendered image layer of 3D object geometry to which the shadow layer is applied.
Claim 17
Dependent Claim 45 words
The method of claim 1 wherein one of the image layers represents a reflection layer, and further including rendering a 3D object in the scene into the reflection layer and re-rendering the 3D object to the reflection layer at a different rate than other layers.
Claim 18
Independent Claim 100 words
A method for performing shading operations in a graphics rendering system, the method comprising: factoring terms in a shading model into separate image layers, where the shading model represents a description of shading to be applied to 3D scene geometry and the shading model is factored over a 3D object or set of 3D objects in a 3D scene; separately rendering the 3D scene geometry to the separate image layers, where two or more of the layers are rendered at different spatial resolutions; and combining the terms of the shading model by compositing the separate image layers using image operators.
Claim 19
Independent Claim 100 words
A method for performing shading operations in a graphics rendering system, the method comprising: factoring terms in a shading model into separate image layers, where the shading model represents a description of shading to be applied to 3D scene geometry and the shading model is factored over a 3D object or set of 3D objects in a 3D scene; separately rendering the 3D scene geometry to the separate image layers, where two or more of the layers are rendered at different spatial resolutions; and combining the terms of the shading model by compositing the separate image layers using image operators.
Claim 20
Dependent Claim 44 words
The method of claim 17 further including warping a rendered image layer of a 3D object from a previous frame to approximate change in lighting or geometric position of the object represented in the image layer from the previous frame to a subsequent frame.
Claim 21
Dependent Claim 80 words
The method of claim 18 wherein the warping step comprises computing a color warp by sampling a lighting model at characteristic points of a 3D object in the previous frame and the subsequent frame to compute lighting changes, and finding a color warp that approximates the lighting changes at the characteristic points; and performing the color warp on the rendered image layer from the previous frame to approximate the change in color values from the previous to the subsequent frame.
Claim 22
Dependent Claim 69 words
The method of claim 18 further including computing a 2D image warp from changes in position of characteristic points of a 3D object in the 3D scene between the previous frame to the subsequent frame; wherein the warping step comprises performing the 2D image warp to transform the rendered image layer from a first screen position for the previous frame to a second screen position in the subsequent frame.
Claim 23
Dependent Claim 61 words
The method of claim 17 wherein the method further includes storing a sprite transform with each of the image layers, where the sprite transform defines a mapping of an image layer from sprite coordinates to screen coordinates, and 3D geometry corresponding to the image layer is rendered into a 2D space defined by the sprite coordinates to create the image layer.
Claim 24
Dependent Claim 28 words
The method of claim 21 including updating the sprite transforms of two or more of the image layers at different rates than the corresponding image layers are updated.
Claim 25
Dependent Claim 14 words
A computer-readable medium having computer executable instructions for performing the steps of claim 17.
Claim 26
Dependent Claim 14 words
A computer-readable medium having computer executable instructions for performing the steps of claim 1.
Claim 27
Dependent Claim 182 words
A sprite compositor for performing shading operations in a graphics rendering system comprising: a set of buffers for storing pixel values from factored image layers, where the image layers correspond to terms in a shading model, where the shading model represents a description of shading to be applied to 3D scene geometry, the shading model is factored over a 3D object or set of 3D objects in a 3D scene, and the 3D object or set of 3D objects are independently and separately rendered to each of the image layers such that a different term in the shading model applies for each independent rendering to the layers; an input multiplexer for selecting input pixels from among the set of buffers; compositing logic including at least one image operator for combining input pixels from separate image layers; a demultiplexer coupled to the compositing logic for receiving combined input pixels and selecting one of the set of buffers to store the combined input pixels; and an output multiplexer for selecting one of the set of buffers to transfer display pixels from the sprite compositor.
Claim 28
Dependent Claim 182 words
A sprite compositor for performing shading operations in a graphics rendering system comprising: a set of buffers for storing pixel values from factored image layers, where the image layers correspond to terms in a shading model, where the shading model represents a description of shading to be applied to 3D scene geometry, the shading model is factored over a 3D object or set of 3D objects in a 3D scene, and the 3D object or set of 3D objects are independently and separately rendered to each of the image layers such that a different term in the shading model applies for each independent rendering to the layers; an input multiplexer for selecting input pixels from among the set of buffers; compositing logic including at least one image operator for combining input pixels from separate image layers; a demultiplexer coupled to the compositing logic for receiving combined input pixels and selecting one of the set of buffers to store the combined input pixels; and an output multiplexer for selecting one of the set of buffers to transfer display pixels from the sprite compositor.
Claim 29
Dependent Claim 31 words
The sprite compositor of claim 25 wherein the compositing logic includes two or more image operators for combining input pixels from separate image layers into output pixels of an output image.
Claim 30
Dependent Claim 27 words
The sprite compositor of claim 26 wherein the compositing logic includes a multiply image operator for multiplying input pixels by modulation factors from a separate image layer.
Claim 31
Independent Claim 138 words
A method for performing shading operations in a graphics rendering system, the method comprising: separately rendering 3D scene geometry to separate image layers, where the separate image layers represent factored terms of a shading model, two or more of the layers have different rendering update rates, the shading model represents a description of shading to be applied to 3D scene geometry and terms of the shading model are factored over a 3D object or set of 3D objects in a 3D scene such that each factored term is applied separately to the 3D object or set of 3D objects while the object or objects are rendered to respective image layers; and combining the terms of the shading model by compositing the separate image layers using an image operator to combine the rendered image layers into an output image.
Claim 32
Independent Claim 138 words
A method for performing shading operations in a graphics rendering system, the method comprising: separately rendering 3D scene geometry to separate image layers, where the separate image layers represent factored terms of a shading model, two or more of the layers have different rendering update rates, the shading model represents a description of shading to be applied to 3D scene geometry and terms of the shading model are factored over a 3D object or set of 3D objects in a 3D scene such that each factored term is applied separately to the 3D object or set of 3D objects while the object or objects are rendered to respective image layers; and combining the terms of the shading model by compositing the separate image layers using an image operator to combine the rendered image layers into an output image.
Claim 33
Dependent Claim 36 words
The method of claim 28 wherein at least one of the layers is rendered at a different spatial resolution than the output image and then scaled to the spatial resolution of the output image for display.
Claim 34
Independent Claim 112 words
A method for performing shading operations in an authoring tool, the method comprising: factoring 3D scene geometry into separate layers such that subsets of the 3D scene geometry are allocated to each of the layers; allocating 3D rendering resources of the authoring tool to a layer or a subset of the layers currently being edited by a user according to the following steps: rendering the subset of the 3D scene geometry allocated to the layer or subset of the layers that are currently being edited by the user; and combining the layer or subset of the layers currently being edited with pre-rendered layers to create output images in a sequence of animation.
Claim 35
Independent Claim 112 words
A method for performing shading operations in an authoring tool, the method comprising: factoring 3D scene geometry into separate layers such that subsets of the 3D scene geometry are allocated to each of the layers; allocating 3D rendering resources of the authoring tool to a layer or a subset of the layers currently being edited by a user according to the following steps: rendering the subset of the 3D scene geometry allocated to the layer or subset of the layers that are currently being edited by the user; and combining the layer or subset of the layers currently being edited with pre-rendered layers to create output images in a sequence of animation.
Claim 36
Dependent Claim 86 words
The method of claim 30 further including: factoring a shading model of a 3D object in the scene geometry into separate layers, where one or more of the separate layers of the factored shading model have a blending factor; in response to the user editing the blend factor of an edited layer, rendering the edited layer of the 3D object associated with the blend factor and combining the edited layer with the pre-rendered layers such that the 3D rendering resources are allocated to the edited layer.

References Cited (Backward Citations)

US5384912A Cited
US5706417A Cited
US5684935A Cited
US5673401A Cited
US5867166A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-17 2003-07-19 2004-01-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-17 2007-07-19 2008-01-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-17 2011-07-19 2012-01-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag