Discrete objects for building virtual environments
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-modified1 . 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.