US2010138793A1PendingUtilityA1

Discrete objects for building virtual environments

Assignee: MICROSOFT CORPPriority: Dec 2, 2008Filed: Dec 2, 2008Published: Jun 3, 2010
Est. expiryDec 2, 2028(~2.4 yrs left)· nominal 20-yr term from priority
G06T 2219/2016G06T 19/20G06T 17/10G06T 2200/24G06T 17/05G06T 2219/2021G06T 2219/2004G06T 2219/2008G06F 3/04842G06F 3/04815G06F 3/04845
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Described is a virtual environment built by drawing stacks of three-dimensional objects (e.g., discrete blocks) as manipulated by a user. A user manipulates one or more objects, resulting in stack heights being changed, e.g., by adding, removing or moving objects to/from stacks. The stack heights are maintained as sample points, e.g., each point indexed by its associated horizontal location. A graphics processor expands height-related information into visible objects or stacks of objects by computing the vertices for each stack to draw that stack's top surface, front surface and/or side surface based upon the height-related information for that stack. Height information for neighboring stacks may be associated with the sample point, whereby a stack is only drawn to where it is occluded by a neighboring stack, that is, by computing the lower vertices for a surface according to the height of a neighboring stack where appropriate.

Claims

exact text as granted — not AI-modified
1 . In a computing machine that generates output representing a computer-simulated environment, a method comprising, receiving user interaction corresponding to an object being manipulated in the computer-simulated environment, communicating data to graphics hardware, the data corresponding to height-related information of the object as a result of the manipulation, and rendering graphics based on the height-related information to output an updated representation of the computer-simulated environment as a result of the user interaction. 
   
   
       2 . The method of  claim 1  wherein receiving the user interaction comprises receiving manipulation instructions to add the object at a horizontal location associated with the computer-simulated environment, and further comprising, increasing height-related information corresponding to that location to account for the object being added. 
   
   
       3 . The method of  claim 1  wherein receiving the user interaction comprises receiving manipulation instructions to delete the object from a horizontal location associated with the computer-simulated environment, and further comprising, decreasing height-related information corresponding to that location to account for the object being deleted. 
   
   
       4 . The method of  claim 1  wherein receiving the user interaction comprises receiving manipulation instructions to move the object from a first horizontal location associated with the computer-simulated environment to a second horizontal location, and further comprising, decreasing first height-related information corresponding to the first location and increasing second height-related information corresponding to the second location to account for the object being moved. 
   
   
       5 . The method of  claim 1  further comprising, computing vertices for a top surface of the object to be rendered based upon the height-related information. 
   
   
       6 . The method of claim comprising, computing vertices for a front or side surface to be rendered based upon the height-related information. 
   
   
       7 . The method of  claim 6  wherein computing the vertices for the front or side surface comprises, determining the vertices based upon height-related information of at least one neighboring location. 
   
   
       8 . The method of  claim 6  wherein computing the vertices for a front or side surface to be rendered based upon the height-related information comprises determining the vertices according to a current base height. 
   
   
       9 . The method of  claim 8  further comprising, changing the current base height to provide a new base height corresponding to another level. 
   
   
       10 . The method of  claim 1  further comprising, providing a user interface tool by which user interaction manipulates of a plurality of objects. 
   
   
       11 . In a computing machine that generates output representing a computer-simulated environment, a system comprising, a mechanism including a user interface by which a user stacks a representation of an object at a horizontal location, the object stacked at the horizontal location upon a base surface or upon one or more other objects or fractional parts of objects, the mechanism communicating height-related information of the object to graphics hardware that renders the object at a vertical position that corresponds to the height-related information. 
   
   
       12 . The system of  claim 11  wherein the object is added upon a stack of one or more other objects, and further comprising, rendering the stack to include the object and at least part of the stack below the object. 
   
   
       13 . The system of  claim 11  wherein the system determines the horizontal location from an index associated with the height-related information. 
   
   
       14 . The system of  claim 11  wherein the data corresponding to the height-related information of an object comprises a set of data indexed by a horizontal location, the set of data including the height-related information including an object height and one or more neighboring heights, and wherein the rendering mechanism draws a side surface by computing a set of vertices that is determined at least in part by the one or more of the neighboring heights. 
   
   
       15 . One or more computer-readable media having computer-executable instructions, which when executed perform steps, comprising:
 receiving a stream of height-related information at a graphics processor, the stream corresponding to stack heights at various horizontal locations of a virtual environment, and   for each horizontal location, processing the height-related information to render a stack at that horizontal location with a stack height determined from the height-related information.   
   
   
       16 . The one or more computer-readable media of  claim 15  having further computer-executable instructions comprising, receiving user input that varies the height of a stack by adding an object to a stack or deleting an object from a stack. 
   
   
       17 . The one or more computer-readable media of  claim 15  wherein processing the height-related information comprises determining the horizontal location from an index associated with the height-related information. 
   
   
       18 . The one or more computer-readable media of  claim 15  wherein processing the height-related information comprises expanding the height-related information into a conceptual stack of at least one object, including drawing a top surface of each stack by computing vertices based upon the height-related information corresponding to that stack. 
   
   
       19 . The one or more computer-readable media of  claim 15  wherein processing the height-related information comprises expanding the height-related information into a conceptual stack of at least one object, including drawing a front surface or a side surface of each stack, or both a front surface and a side surface, by computing vertices based upon the height-related information corresponding to that stack. 
   
   
       20 . The one or more computer-readable media of  claim 19  computing the vertices comprises determining lower vertices based upon height-related information corresponding to one or more neighboring stacks.

Join the waitlist — get patent alerts

Track US2010138793A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.