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

Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1995-07-20
•
Granted: 1997-12-30
•
Expires: 2015-07-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus for generating a reflection from a three-dimensional environment map. The apparatus includes a reflection vector generator which receives an eye vector and a normal vector neither of which need be normalized. This reflection vector generator generates a reflection vector without vector normalization. The reflection vector generator then couples to a decoder to supply the generated reflection vector. The decoder, in turn, determines a location where the reflection vector indexes the selected 2-dimensional map which forms part of the environment map.

Inventors

  • 👤 Douglas Voorhies
  • 👤 James Foran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 23:40
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/50; G06T15/506

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 42 words
A method for generating a reflection vector, said method comprising the steps of: a) receiving an eye vector (E) and a normal vector (N) at least one of which is not normalized; and b) producing a reflection vector (R) without vector normalization.
Claim 2
Independent Claim 42 words
A method for generating a reflection vector, said method comprising the steps of: a) receiving an eye vector (E) and a normal vector (N) at least one of which is not normalized; and b) producing a reflection vector (R) without vector normalization.
Claim 3
Dependent Claim 21 words
The method of claim 1 further comprising the step of determining the location where the reflection vector indexes an environment map.
Claim 4
Dependent Claim 14 words
The method of claim 2 wherein said method is used to render specular highlights.
Claim 5
Dependent Claim 7 words
The method of claim 1, wherein R=2*N*(N·E)-E*(N·N).
Claim 6
Independent Claim 139 words
A method for generating a reflection vector that indexes one of a plurality of faces of a cubic environment map stored in a memory, said method comprising the steps of: receiving an eye vector (E) and a normal vector (N); producing a reflection vector (R) represented by a first coordinate, a second coordinate, and a third coordinate, wherein the reflection vector is unnormalized when one of the normal vector and the eye vector is unnormalized; determining a largest coordinate having the largest magnitude of said first, second, and third coordinates; and generating a fourth coordinate, and a fifth coordinate, by dividing two of said first, second, and third coordinates by said largest coordinate, wherein said fourth, and fifth coordinates define the location on the cubic environment map where said reflection vector indexes said cubic environment map in said memory.
Claim 7
Independent Claim 139 words
A method for generating a reflection vector that indexes one of a plurality of faces of a cubic environment map stored in a memory, said method comprising the steps of: receiving an eye vector (E) and a normal vector (N); producing a reflection vector (R) represented by a first coordinate, a second coordinate, and a third coordinate, wherein the reflection vector is unnormalized when one of the normal vector and the eye vector is unnormalized; determining a largest coordinate having the largest magnitude of said first, second, and third coordinates; and generating a fourth coordinate, and a fifth coordinate, by dividing two of said first, second, and third coordinates by said largest coordinate, wherein said fourth, and fifth coordinates define the location on the cubic environment map where said reflection vector indexes said cubic environment map in said memory.
Claim 8
Dependent Claim 12 words
The method for generating a reflection vector of claim 5, wherein R=2*N*(N·E)-E*(N·N).
Claim 9
Dependent Claim 100 words
In a data processing system which renders images, a method of generating reflections off a rendered object by using an environment representation comprising a set of 2-dimensional maps which are independent of a viewer's position, said method comprising: receiving an eye vector (E) and a normal vector (N), at least one of which is not normalized; producing a reflection vector (R) without vector normalization; selecting a selected 2-dimensional map which contains a location indexed by said reflection vector; determining said location on said selected 2-dimensional map; and sampling a reflection shading value at said location in said selected 2-dimensional map.
Claim 10
Dependent Claim 100 words
In a data processing system which renders images, a method of generating reflections off a rendered object by using an environment representation comprising a set of 2-dimensional maps which are independent of a viewer's position, said method comprising: receiving an eye vector (E) and a normal vector (N), at least one of which is not normalized; producing a reflection vector (R) without vector normalization; selecting a selected 2-dimensional map which contains a location indexed by said reflection vector; determining said location on said selected 2-dimensional map; and sampling a reflection shading value at said location in said selected 2-dimensional map.
Claim 11
Dependent Claim 7 words
The method of claim 7, wherein R=2*N*(N·E)-E*(N·N).
Claim 12
Dependent Claim 71 words
A method as in claim 7 wherein said environment representation comprises six 2-dimensional maps arranged as the faces of a cube which is aligned to an axis of a coordinate system, and wherein said step of selecting comprises selecting the 2-dimensional map corresponding to the largest component of said reflection vector and wherein said step of determining comprises dividing the two smaller components of said reflection vector by said largest component.
Claim 13
Dependent Claim 88 words
A method as in claim 7 wherein said environment representation comprises eight 2-dimensional maps arranged as the triangular faces of an octahedron which is aligned to an axis of a coordinate system, and wherein said step of selecting comprises selecting the 2-dimensional map corresponding to the direction indicated by the signs of a plurality of components of said reflection vectors and wherein said step of determining comprises dividing a plurality of magnitudes of said plurality of components by a sum of the magnitudes of said plurality of components.
Claim 14
Dependent Claim 85 words
A reflection vector generating apparatus for generating a reflection vector indexing one of a plurality of faces of an environment map, said apparatus comprising: a) a reflection vector generator which receives an eye vector and a normal vector at least one of which is not normalized, said reflection vector generator producing a reflection vector without vector normalization; b) a decoder coupled to the reflection vector generator to receive the reflection vector, said decoder determining the face of said environment map that said reflection vector indexes.
Claim 15
Dependent Claim 85 words
A reflection vector generating apparatus for generating a reflection vector indexing one of a plurality of faces of an environment map, said apparatus comprising: a) a reflection vector generator which receives an eye vector and a normal vector at least one of which is not normalized, said reflection vector generator producing a reflection vector without vector normalization; b) a decoder coupled to the reflection vector generator to receive the reflection vector, said decoder determining the face of said environment map that said reflection vector indexes.
Claim 16
Dependent Claim 19 words
An apparatus as in claim 11 wherein said reflection vector generator comprises a plurality of multipliers and a shifter.
Claim 17
Dependent Claim 15 words
An apparatus as in claim 11 wherein said decoder comprises a multiplexer and a divider.
Claim 18
Dependent Claim 46 words
An apparatus as in claim 11 wherein said reflection vector generator and said decoder comprise one of a microprocessor or a microcontroller which is controlled by software to generate said reflection vector and to determine the face of said environment map which said reflection vector indexes.
Claim 19
Dependent Claim 17 words
An apparatus as in claim 11 wherein said decoder further determines an indexed location on said face.
Claim 20
Dependent Claim 64 words
An apparatus as in claim 11 further comprising: memory coupled to said decoder, said memory storing said environment map; a display, said display displaying a rendered object having reflections which are produced by said reflection generator; a processor coupled to said display, said processor calculating said eye vector and said normal vector and providing said eye and normal vectors to said reflection vector generator.
Claim 21
Dependent Claim 48 words
A method as in claim 7, wherein said rendered object includes a first pixel, and wherein said method further comprises calculating a pixel shading value for said first pixel using said reflection shading value and displaying on said display device said first pixel having said pixel shading value.
Claim 22
Dependent Claim 15 words
A method as in claim 7 wherein said method is used to render specular highlights.
Claim 23
Dependent Claim 16 words
A method as in claim 18 wherein said environment representation includes a representation of specular highlights.

References Cited (Backward Citations)

US5063375A Cited
US4901064A Cited
US5253339A Cited
US5563989A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-12-29 2001-06-30 2001-12-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-12-29 2005-06-30 2005-12-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-12-29 2009-06-30 2009-12-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag