Composing a description of a virtual 3D world from values stored in a database and generated by decomposing another description of a virtual 3D world
First Claim
1. A method of generating a display of a virtual world, the method comprising the steps of:
- reading a first description of each of a plurality of nodes that are in the virtual world;
decomposing the first description of each of the plurality of nodes to produce a set of values;
storing the set of values in a database;
composing a second description of the virtual world using the set of values in the database; and
delivering the second description to a display client that is configured to display the virtual world using the second description.
2 Assignments
0 Petitions
Accused Products
Abstract
Mechanisms and methods for storing, dynamically reconstructing, and navigating a three-dimensional virtual world using a database are disclosed. A virtual world is described in a source text according to the grammar of a modeling language. The source text is read, parsed, and decomposed into a database schema in which characteristics of the world are represented in database tables. In an embodiment, nodes and fields of the world are associated with database queries. When the world is to be displayed, values in the database schema are recomposed into a source text. The database queries are executed against a database, yielding on-the-fly values for the nodes associated with the queries. In another embodiment, the world is segmented into regions, and proximity sensors are defined around the virtual position of a client that is viewing the world. When the virtual position of the client changes, visible adjacent regions of the world are selectively loaded, recomposed, and displayed. Thus, large virtual worlds are efficiently displayed and easily modified.
89 Citations
33 Claims
-
1. A method of generating a display of a virtual world, the method comprising the steps of:
-
reading a first description of each of a plurality of nodes that are in the virtual world;
decomposing the first description of each of the plurality of nodes to produce a set of values;
storing the set of values in a database;
composing a second description of the virtual world using the set of values in the database; and
delivering the second description to a display client that is configured to display the virtual world using the second description. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
storing the set of values in at least one table of the database.
-
-
3. The method recited in claim 2, in which the step of composing the second description further comprises the step of:
retrieving the set of values from the at least one table.
-
4. The method recited in claim 1, further comprising the step of:
generating in the second description a reference to a data value for each of the plurality of nodes.
-
5. The method recited in claim 1, wherein the step of storing a set of values further comprises the step of:
storing, in a node table of the database, an identifier of a node, an identifier of a parent node to which the node is related subordinately, and an order value defining an order of the node in relation to a second node subordinately related to the parent node.
-
6. The method recited in claim 5, wherein the step of composing a second description includes the steps of:
-
receiving a world identifier associated with the first description nodes from the node table based on the world identifier using a selection function of the database; and
using values associated with the selected nodes to compose said second description according to a grammar of a virtual world definition language.
-
-
7. The method recited in claim 6, wherein the step of composing a second description includes the step of:
writing the plurality of nodes to a VRML file according to the grammar.
-
8. The method recited in claim 1, wherein:
-
the first description includes a plurality of fields that are each associated with at least one of the plurality of nodes; and
the step of storing values includes, for each of the plurality of fields, storing a field identifier, a field value, and a node identifier in a field table of the database.
-
-
9. The method recited in claim 1 wherein:
-
the first description includes a reference to an external source definition of a second virtual world; and
the step of decomposing includes decomposing said external source definition to produce a subset of the set of values.
-
-
10. The method recited in claim 1, wherein the step of decomposing includes the step of parsing the first description to identify the plurality of nodes.
-
11. The method recited in claim 10, wherein the parsing step comprises the step of:
parsing the first description of the virtual world according to a grammar of a Virtual Reality Modeling Language (VRML).
-
12. The method recited in claim 1, further comprising the steps of:
-
displaying an outline view of the plurality of nodes;
receiving an identification of a selected node to be modified and a modification value;
locating fields associated with the selected node in the database; and
updating the fields associated with the selected node based on the modification value.
-
-
13. The method recited in claim 1, wherein:
-
a plurality of fields are defined by the first description, each of the fields being associated with one of the plurality of nodes;
the database includes a plurality of field tables, each of the field tables corresponding to a field type defined in a Virtual Reality Modeling Language; and
the step of storing includes storing a field identifier, a field value, and a node identifier in one of the field tables that corresponds to the field.
-
-
14. A method of generating a display of a virtual world, comprising the steps of:
-
composing a description defining at least a portion of the virtual world based on a repository of node data stored in a database system, wherein said repository of node data includes one or more tables that include values that correspond to fields of nodes defined by said description; and
delivering the description to a display client configured to interpret the description and render the virtual world therefrom.
-
-
15. A computer-readable medium carrying one or more sequences of one or more instructions for generating a display of a virtual world wherein the execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
reading a first description of each of a plurality of nodes that are in the virtual world;
decomposing the first description of each of the plurality of nodes to produce a set of values;
storing the set of values in a database;
composing a second description of the virtual world using the set of values in the database; and
delivering the second description to a display client that is configured to display the virtual world using the second description. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
storing the set of values in at least one table of a database. -
17. The computer-readable medium recited in claim 16, wherein the step of composing the second description further includes retrieving the set of values from the at least one table.
-
18. The computer-readable medium recited in claim 17, wherein the step of composing a second description includes the steps of:
-
receiving a world identifier associated with the first description;
selecting nodes from the node table based on the world identifier using a selection function of the database; and
using values associated with the selected nodes to compose said second description according to a grammar of a virtual world definition language.
-
-
19. The computer-readable medium recited in claim 18, wherein the step of composing a second description includes the step of
writing the nodes to a VRML file according to the grammar. -
20. The computer-readable medium recited in claim 15, wherein the execution of the one or more sequences of instructions further causes the one or more processors to perform the step of:
generating in the second description a reference to a data value for each of the plurality of nodes.
-
21. The computer-readable medium recited in claim 15, wherein the step of storing a set of values further comprises the step of
storing, in a node table of the database, an identifier of a node, an identifier of a parent node to which the node is related subordinately, and an order value defining an order of the node in relation to a second node subordinately related to the parent node. -
22. The computer-readable medium recited in claim 15, wherein
the first description includes a plurality of fields that are each associated with at least one of the plurality of nodes; - and
the step of storing values includes, for each of the plurality of fields, storing a field identifier, a field value, and a node identifier in a field table of the database.
- and
-
23. The computer-readable medium recited in claim 15, wherein the first description includes a reference to an external source definition of a second virtual world;
- and
the step of decomposing includes decomposing said external source definition to produce a subset of the set of values.
- and
-
24. The computer-readable medium recited in claim 15, wherein the step of decomposing includes the step of parsing the first description to identify the plurality of nodes.
-
25. The computer-readable medium recited in claim 18, wherein the step of composing a second description includes the step of
writing the plurality of nodes to a VRML file according to the grammar. -
26. The computer-readable medium recited in claim 15, wherein the execution of the one or more sequences of instructions further causes the one or more processors to perform the steps of:
-
displaying an outline view of the plurality of nodes;
receiving an identification of a selected node to be modified and a modification value; and
locating fields associated with the selected node in the database based on the modification value.
-
-
27. The computer-readable medium recited in claim 15, wherein
a plurality of fields are defined by the first description, each of the fields being associated with one of the plurality of nodes; -
the database includes a plurality of field tables, each of the field tables corresponding to a field type defined in a Virtual Reality Modeling Language; and
the step of storing includes storing a field identifier, a field value, and a node identifier in one of the field tables that corresponds to the field.
-
-
-
28. A computer-readable medium carrying one or more sequences of instructions for generating a display of a virtual world wherein the execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
composing a description defining at least a portion of the virtual world based on a repository of node data stored in a database system, wherein said repository of node data includes one or more tables that include values that correspond to fields of nodes defined by said description; and
delivering the description to a display client configured to interpret the description and render the virtual world therefrom.
-
-
29. A database system, comprising:
-
one or more tables that include values that correspond to fields of nodes used to define a virtual world;
said database system configured to compose a particular description defining at least a portion of the virtual world based on said values that correspond to said fields of said nodes; and
said database system configured to deliver the particular description to a display client configured to interpret the particular description and render at least a portion of the virtual world therefrom. - View Dependent Claims (30, 31, 32, 33)
-
Specification