Using messaging to manage scene-based rendering
First Claim
1. A computer program embodied on an electronic medium, wherein the computer program is configured to:
- create a scene graph by;
adding a first object to a hierarchy;
adding a second object to the hierarchy; and
defining a parent-child relationship between the first and second objects;
create a plurality of data structures and threads, wherein the threads are configured to generate messages to specify state changes, wherein each data structure corresponds to a particular type of object in the hierarchy, wherein each object in the hierarchy has an entry in at least one of the data structures, wherein each thread is configured to execute one of the data structures; and
render the scene graph by executing the threads in lieu of traversing the scene graph.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for rapid processing of scene-graph-based data and/or programs is disclosed. In one embodiment, the system may be configured to utilize a scene graph directly. In another embodiment, the system may be configured to generate a plurality of structures and thread that manage the data originally received as part of the scene graph. The structures and threads may be configured to convey information about state changes through the use of messaging. The system may include support for messaging between threads, messaging with time and/or event stamps, epochs to ensure consistency, and ancillary structures such as render-bins, geometry structures, and rendering environment structures.
93 Citations
32 Claims
-
1. A computer program embodied on an electronic medium, wherein the computer program is configured to:
-
create a scene graph by;
adding a first object to a hierarchy;
adding a second object to the hierarchy; and
defining a parent-child relationship between the first and second objects;
create a plurality of data structures and threads, wherein the threads are configured to generate messages to specify state changes, wherein each data structure corresponds to a particular type of object in the hierarchy, wherein each object in the hierarchy has an entry in at least one of the data structures, wherein each thread is configured to execute one of the data structures; and
render the scene graph by executing the threads in lieu of traversing the scene graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of parallel processing graphics data, the method comprising:
-
generating a plurality of data structures from a scene graph;
creating at least one thread that operates on each data structure, wherein at least a subset of the threads are configured to generate messages to communicate state changes to one or more of the data structures; and
executing at least a subset of the threads in parallel, wherein at least one of the threads is configured to read and render data from at least one of the data structures, wherein at least a subset of the threads render a frame based on the scene graph. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program embodied on an electronic medium, wherein the computer program is an application program interface, and wherein the program comprises a plurality of instructions configured to:
-
create a scene graph for an application by;
adding a first pointer to the scene graph, wherein the first pointer points to a first object;
adding a second pointer to the scene graph, wherein the second pointer points to a second object;
defining a parent-child relationship between the first and second objects;
create a plurality of data structures and threads for an application program, wherein the threads are configured to generate messages to specify state changes in the scene graph or the objects, wherein each data structure corresponds to a particular type of object in the scene graph, wherein each object in the scene graph has an entry in at least one of the data structures, and wherein each thread is configured to execute one of the data structures; and
render the scene graph for an application program by executing the threads in lieu of traversing the scene graph. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification