Legal claims defining the scope of protection, as filed with the USPTO.
1. A method in combination with an application running on a computing device that renders a visual simulation to a display of the computing device, the application rendering the simulation as a series of visual frames according to a plurality of calls, the method for encapsulating a particular frame n of the simulation for re-rendering comprising steps of: receiving an identification of the frame n to be captured; creating a run file for the identified frame n to re-render the frame n independent from the application; capturing, for the frame n, a call issued in connection with the frame n by the application; determining, with regard to the issued call, an object upon which the issued call is made; determining a creating call to create the object, comprising determining that state information used to create the object is not found in another object created in connection with the frame n, the state information comprising a texture map, a vertex buffer, or a pixel shader; determining a first populating call used to populate the object, the first populating call being stored in a first frame of frames 1 to n- 1 ; determining a second populating call used to populate the object, the second populating call being stored in a second frame of frames 1 to n- 1 ; and in response to determining that a result of processing the second populating call overwrites a result of processing the first populating call, writing the frame n, the issued call, the creating call, and the second populating call into the run file without writing the first populating call into the run file, such that executing the run file reconstructs or replays the frame n without executing any of frames 1 to n- 1 .
2. The method of claim 1 , further comprising: capturing the issued call, the creating call, and the second populating call and writing the run file in a real-time manner.
3. The method of claim 1 , wherein determining the first populating call used to populate the object comprises: determining that the object has not already been populated in connection with the run file.
4. The method of claim 1 , wherein determining the creating call to create the object comprises: determining that the creating call was previously issued in connection with a previous frame 1 to n- 1 .
5. The method of claim 1 , wherein determining the second populating call used to populate the object comprises: identifying a prerequisite object necessary to populate the object; in response to determining that the identified prerequisite object has not already been represented by a synthesized call in the run file, synthesizing an appropriate call from one or more populating calls that were previously issued in connection with previous frames 1 to n- 1 .
6. The method of claim 5 , wherein an object has a plurality of generations of prerequisite populating objects, at least one generation being represented as a nested recursion of a generation that precedes it.
7. The method of claim 1 , further comprising: executing the run file, independently of any previous frame or other run file, to replay or reconstruct the frame n.
8. The method of claim 1 , wherein receiving the indication of the frame n to be captured comprises: receiving the indication of the frame n to be captured, the frame n being rendered by an application, the application being run in a slow mode that is slower than a real-time operation of the application.
9. The method of claim 1 , wherein the run file comprises a non-visual object used in connection with the frame n, the non-visual object comprising a list, a database, a table, or a set of formulas.
10. The method of claim 1 , wherein determining a creating call to create the object comprises: identifying a prerequisite object necessary to create the object; and in response to determining that the identified prerequisite object has not already been created in connection with the run file, writing the prerequisite object creating call to the run file.
11. The method of claim 10 , wherein an object has a plurality of generations of prerequisite creating objects, at least one generation being represented as a nested recursion of a generation that precedes it.
12. A computer readable storage device, having stored thereon computer-executable instructions implementing operations in combination with an application running on a computing device that renders a visual simulation to a display of the computing device, the application rendering the simulation as a series of visual frames according to a plurality of calls, the operations for encapsulating a particular frame n of the simulation for re-rendering comprising: receiving an identification of the frame n to be captured, the frame n being rendered by an application; creating a run file for the identified frame n to re-render the frame n independent from the application; capturing, for the frame n, a call issued in connection with the frame n by the application; determining, with regard to the issued call, an object upon which the issued call is made; determining a creating call to create the object, comprising determining that state information used to create the object is not found in another object created in connection with the frame n, the state information comprising a texture map, a vertex buffer, or a pixel shader; determining a first populating call used to populate the object, the first populating call being stored in a first frame of frames 1 to n- 1 ; determining a second populating call used to populate the object, the second populating call being stored in a second frame of frames 1 to n- 1 ; and in response to determining that a result of processing the second populating call overwrites a result of processing the first populating call, writing the frame n, the issued call, the creating call, and the second populating call into the run file without writing the first populating call into the run file, such that executing the run file reconstructs or replays the frame n without executing any of frames 1 to n- 1 .
13. The computer readable storage device of claim 12 , wherein the operations further comprise: capturing the issued call, the creating call, and the second populating call and writing the run file in a real-time manner.
14. The computer readable storage device of claim 12 , wherein determining the first populating call used to create the object comprises: determining that the object has not already been populated in connection with the run file.
15. The computer readable storage device of claim 12 , wherein determining the creating call to create the object comprises: determining that the creating call was previously issued in connection with a previous frame 1 to n- 1 .
16. The computer readable storage device of claim 12 , wherein determining a creating call to create the object comprises: identifying a prerequisite object necessary to create the object; in response to determining that the identified prerequisite object has not already been created in connection with the run file, writing the prerequisite object creating call to the run file.
17. The computer readable storage device of claim 12 , wherein determining the second populating call used to populate the object comprises: identifying each prerequisite object necessary to populate the object; in response to determining that the identified prerequisite object has not already been represented by a synthesized call in the run file, synthesizing an appropriate call from one or more populating calls that were previously issued in connection with previous frames 1 to n- 1 .
18. The computer readable storage device of claim 12 , wherein receiving the indication of the frame n to be captured comprises: receiving the indication of the frame n to be captured, the frame n being rendered by an application, the application being run in a slow mode that is slower than a real-time operation of the application.
19. The computer readable storage device of claim 12 , wherein the run file comprises a non-visual object used in connection with the frame n, the non-visual object comprising a list, a database, a table, or a set of formulas.
20. A system, comprising: a processor; and a memory communicatively coupled to the processor, the memory bearing processor-executable instructions, that when executed on the processor, cause the processor to perform operations comprising: receiving an identification of the frame n to be captured; creating a run file for the identified frame n to re-render the frame n independent from the application; capturing, for the frame n, a call issued in connection with the frame n by the application; determining, with regard to the issued call, an object upon which the issued call is made; determining a creating call to create the object, comprising determining that state information used to create the object is not found in another object created in connection with the frame n, the state information comprising a texture map, a vertex buffer, or a pixel shader; determining a first populating call used to populate the object, the first populating call being stored in a first frame of frames 1 to n- 1 ; determining a second populating call used to populate the object, the second populating call being stored in a second frame of frames 1 to n- 1 ; in response to determining that a result of processing the second call overwrites a result of processing the first populating call, writing the frame n, the issued call, the creating call, and the second populating call into the run file without writing the first populating call into the run file, such that executing the run file reconstructs or replays the frame n without executing any of the frames 1 to n- 1 .
Unknown
April 30, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.