Patent ID: 7688323

Claim:
A method of rendering a frame of items in a scene of an animation at a current time, the method comprising the steps of: (1) calculating a state vector at a current time, by: (a) providing a database of items in a scene, the database comprising channels corresponding to parameters of the items, wherein the parameters of the items have user-defined values; (b) evaluating the channels at the current time to determine initial values of the channels; (c) writing the initial values of the channels to an initial current time state vector, the initial current time state vector comprising an array of heterogeneous data packets; by: (i) reading the initial current time state vector with a first modifier; (ii) computing modified values of the channels with the first modifier; (iii) writing the modified values of the channels to a second current time state vector, wherein values which are not written by the first modifier remain unchanged between the initial current time state vector and the second current time state vector; and (iv) using a computer algorithm to repeat steps (c)(i) to (c)(iii) with successive modifiers, wherein the state vector created in step (c)(iii) is input into step (c)(i); (2) calculating a state vector simultaneously for an alternate time, by: (a) providing a database of items in a scene, the database comprising channels corresponding to parameters of the items, wherein the parameters of the items have user-defined values; (b) evaluating the channels at the alternate time to determine initial values of the channels at the alternate time; (c) writing the initial values of the channels to an initial alternate time state vector, the initial alternate time state vector comprising an array of heterogeneous data packets; by: (i) reading the initial alternate time state vector with a first modifier; (ii) computing modified values of the channels with the first modifier; (iii) writing the modified values of the channels to a second alternate time state vector, wherein values which are not written by the first modifier remain unchanged between the initial alternate time state vector and the second alternate time state vector; and (iv) using a computer algorithm to repeat steps (c)(i) to (c)(iii) with successive modifiers, wherein the state vector created in step (c)(iii) is input into step (d)(i); and then, (3) applying a time warp modifier to the current time state vector and the alternate time state vector to create a final combined current time state vector, wherein the time warp modifier reads both the current time state vector and the alternate time state vector such that the values of the channels in the final combined current time state vector are computed using the state of the items both at the current time and at the alternate time; and then (4) computing a rendered frame of the items in the scene for the combined current time state vector.