Techniques for animating complex scenes
First Claim
1. A computer-implemented method of animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, wherein animating requires at least some scene information to be present in a computer memory that is insufficient to store all of the models for the scene at one time, the method comprising:
- determining an object to be animated;
identifying a first model of the plurality of models, the first model corresponding to the object to be animated;
accessing a representation of the plurality of models, wherein for each of the plurality of models, the representation includes;
a representation of the model,a representation of one or more inputs of the model,a representation of an output of the model, anda representation of a set of data dependencies between the one or more inputs of the model and an output of a different model;
determining, based on the representation of the plurality of models, one or more models of the plurality of models that require evaluation in order to evaluate the first model;
loading the first model and the one or more models of the plurality of models into the computer memory, wherein the plurality of models includes at least one model that is not loaded into the computer memory;
evaluating the one or more of the plurality of models and the first model, thereby rendering the object, wherein, once loaded, the one or more models and the first model are evaluated in a predetermined manner; and
displaying the object on a display device, wherein said determining, identifying, accessing, loading and evaluating are performed via a computer processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques that enable users (e.g., animators) to accurately animate models in a scene without having to load all the models involved in the scene concurrently in computer memory. For a particular model that a user wishes to animate, only a minimal set of models involved in the scene that are needed for the particular model to evaluate correctly are determined and loaded into computer memory. Additionally, if a particular model is to be unloaded from computer memory, then all models that depend, either directly or indirectly, on the particular model and that are loaded in memory are also unloaded from memory in order to avoid incorrect animation.
-
Citations
33 Claims
-
1. A computer-implemented method of animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, wherein animating requires at least some scene information to be present in a computer memory that is insufficient to store all of the models for the scene at one time, the method comprising:
-
determining an object to be animated; identifying a first model of the plurality of models, the first model corresponding to the object to be animated; accessing a representation of the plurality of models, wherein for each of the plurality of models, the representation includes; a representation of the model, a representation of one or more inputs of the model, a representation of an output of the model, and a representation of a set of data dependencies between the one or more inputs of the model and an output of a different model; determining, based on the representation of the plurality of models, one or more models of the plurality of models that require evaluation in order to evaluate the first model; loading the first model and the one or more models of the plurality of models into the computer memory, wherein the plurality of models includes at least one model that is not loaded into the computer memory; evaluating the one or more of the plurality of models and the first model, thereby rendering the object, wherein, once loaded, the one or more models and the first model are evaluated in a predetermined manner; and displaying the object on a display device, wherein said determining, identifying, accessing, loading and evaluating are performed via a computer processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, wherein animating requires at least some scene information to be present in a computer memory that is insufficient to store all of the models for the scene at one time, the method comprising:
-
identifying a first model of the plurality of models to be unloaded from the computer memory; accessing a representation of the plurality of models, wherein for each of the plurality of models, the representation includes; a representation of the model, a representation of one or more inputs of the model, a representation of an output of the model, and a representation of a set of data dependencies between the one or more inputs of the model and an output of a different model; determining, based on the representation of the plurality of models, one or more models of the plurality of models that require evaluation of the first model in order to evaluate each of the one or more models; unloading from the computer memory the first model and the one or more models of the plurality of models that require evaluation of the first model in order to evaluate each of the one or more models, wherein determining the one or more models of the plurality of models that require evaluation of the first model further comprises determining those models of the plurality of models whose evaluation depends upon evaluation of the first model; and displaying the object on a display device, wherein said identifying, accessing, determining and unloading are performed via a computer processor. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer program product stored on a computer-readable medium for animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, wherein animating requires at least some scene information to be present in a computer memory that is insufficient to store all of the models for the scene at one time, the computer program product comprising:
-
code for receiving information identifying an object to be animated; code for identifying a first model of the plurality of models, the first model corresponding to the object to be animated; code for accessing a representation of the plurality of models, wherein for each of the plurality of models, the representation includes; a representation of the model, a representation of one or more inputs of the model, a representation of an output of the model, and a representation of a set of data dependencies between the one or more inputs of the model and an output of a different model; code for determining, based on the representation of the plurality of models, one or more models of the plurality of models that require evaluation in order to evaluate the first model; code for loading the first model and the one or more models of the plurality of models into the computer memory, wherein the plurality of models includes at least one model stored elsewhere that is not loaded into the computer memory; and code for evaluating the one or more of the plurality of models and the first model, thereby rendering the object, wherein, once loaded, the one or more models and the first model are evaluated in a predetermined manner. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer program product stored on a computer-readable medium for animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, wherein animating requires at least some scene information to be present in a computer memory that is insufficient to store all of the models for the scene at one time, the computer program product comprising:
-
code for receiving information identifying a first model of the plurality of models to be unloaded from the computer memory; code for accessing a representation of the plurality of models, wherein for each of the plurality of models, the representation includes; a representation of the model, a representation of one or more inputs of the model, a representation of an output of the model, and a representation of a set of data dependencies between the one or more inputs of the model and an output of a different model; code for determining, based on the representation of the plurality of models, one or more models of the plurality of models that require evaluation of the first model in order to evaluate each of the one or more models; and code for unloading from the computer memory the first model and the one or more models of the plurality of models that require evaluation of the first model in order to evaluate each of the one or more models. - View Dependent Claims (21, 22, 23)
-
-
24. A system for animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, the system comprising:
-
a processor; a computer memory coupled to the processor, the computer memory being insufficient to store all of the models for the scene at one time and being such that at least some scene information is to be present in the computer memory for an animating process; a storage subsystem coupled to the processor, the storage subsystem configured to store instructions that when executed by the processor cause the processor to; determine an object to be animated; identify a first model of the plurality of models, the first model corresponding to the object to be animated; access a representation of the plurality of models, wherein for each of the plurality of models, the representation includes; a representation of the model, a representation of one or more inputs of the model, a representation of an output of the model, and a representation of a set of data dependencies between the one or more inputs of the model and an output of a different model; determine, based on the representation of the plurality of models, which of one or more models of the plurality of models require evaluation in order to evaluate the first model; load the first model and the one or more models of the plurality of models into the computer memory, wherein the plurality of models includes at least one model that is not loaded into the computer memory; and evaluate the one or more of the plurality of models and the first model, thereby rendering the object, wherein, once loaded, the one or more models and the first model are evaluated in a predetermined manner. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A system for animating a scene comprising a plurality of objects, each object represented by one of a plurality of models, the system comprising:
-
a processor; a computer memory coupled to the processor, the computer memory being insufficient to store all of the models for the scene at one time and being such that at least some scene information is to be present in the computer memory for an animating process; a storage subsystem coupled to the processor, the storage subsystem configured to store instructions that when executed by the processor cause the processor to; identify a first model of the plurality of models to be unloaded from the memory; access a representation of the plurality of models, wherein for each of the plurality of models, the representation includes; a representation of the model; a representation of one or more inputs of the model; a representation of an output of the model; and a representation of a set of data dependencies between the one or more inputs of the model and an output of a different model; and determine, based on the representation of the plurality of models, which of one or more models of the plurality of models that require evaluation of the first model in order to evaluate each of the one or more models; and unload from the computer memory the first model and the one or more models of the plurality of models that require evaluation of the first model in order to evaluate each of the one or more models. - View Dependent Claims (31, 32, 33)
-
Specification