System, method, and computer program product for modifying signals of a three-dimensional graphics application program based on a tracking algorithm
First Claim
Patent Images
1. A method, comprising:
- intercepting, by a driver, an application program interface (API) command stream including a plurality of API calls from a three-dimensional graphics application program;
modifying, by the driver, at least one of the plurality of API calls, based on an algorithm that tracks at least a portion of an upper body of a person, by displacing viewpoint data associated with the at least one of the plurality of API calls based on the at least a portion of the upper body of the person tracked utilizing the algorithm;
generating a pushbuffer utilizing the at least one modified API call, and splitting the pushbuffer into a first pushbuffer and a second pushbuffer; and
outputting, from the driver, the at least one modified API call to a graphics processing unit for generating at least one image utilizing the at least one modified API call, wherein the outputting of the at least one modified API call to the graphics processing unit includes communication data in each of the first pushbuffer and the second pushbuffer to the graphics processing unit, without communicating the at least one modified API call back to the three-dimensional graphics application program;
wherein the driver that intercepts the API command stream and the algorithm that tracks the at least a portion of the upper body of the person are separate from the three-dimensional graphics application program, such that the three-dimensional graphics application program is prevented from being aware of the interception and the modification of the at least one modified API call.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and computer program product are provided for modifying signals of a three-dimensional graphics application program based on a tracking algorithm. In operation, a plurality of signals are received from a three-dimensional graphics application program. Additionally, the signals, or a derivative thereof, are modified based on an algorithm that tracks at least a portion of an upper body of a person. Furthermore, the modified signals are output.
-
Citations
24 Claims
-
1. A method, comprising:
-
intercepting, by a driver, an application program interface (API) command stream including a plurality of API calls from a three-dimensional graphics application program; modifying, by the driver, at least one of the plurality of API calls, based on an algorithm that tracks at least a portion of an upper body of a person, by displacing viewpoint data associated with the at least one of the plurality of API calls based on the at least a portion of the upper body of the person tracked utilizing the algorithm; generating a pushbuffer utilizing the at least one modified API call, and splitting the pushbuffer into a first pushbuffer and a second pushbuffer; and outputting, from the driver, the at least one modified API call to a graphics processing unit for generating at least one image utilizing the at least one modified API call, wherein the outputting of the at least one modified API call to the graphics processing unit includes communication data in each of the first pushbuffer and the second pushbuffer to the graphics processing unit, without communicating the at least one modified API call back to the three-dimensional graphics application program; wherein the driver that intercepts the API command stream and the algorithm that tracks the at least a portion of the upper body of the person are separate from the three-dimensional graphics application program, such that the three-dimensional graphics application program is prevented from being aware of the interception and the modification of the at least one modified API call. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product embodied on a non-transitory computer readable medium, comprising:
-
computer code for intercepting, by a driver, an application program interface (API) command stream including a plurality of API calls from a three-dimensional graphics application program; computer code for modifying, by the driver, at least one of the plurality of API calls, based on an algorithm that tracks at least a portion of an upper body of a person, by displacing viewpoint data associated with the at least one of the plurality of API calls based on the at least a portion of the upper body of the person tracked utilizing the algorithm; computer code for generating a pushbuffer utilizing the at least one modified API call, and splitting the pushbuffer into a first pushbuffer and a second pushbuffer; and computer code for outputting, from the driver, the at least one modified API call to a graphics processing unit for generating at least one image utilizing the at least one modified API call, wherein the outputting of the at least one modified API call to the graphics processing unit includes communicating data in each of the first pushbuffer and the second pushbuffer to the graphics processing unit, without communicating the at least one modified API call back to the three-dimensional graphics application program; wherein the computer program product is operable such that the driver that intercepts the API command stream and the algorithm that tracks the at least a portion of the upper body of the person are separate from the three-dimensional graphics application program, such that the three-dimensional graphics application program is prevented from being aware of the interception and the modification of the at least one modified API call.
-
-
23. An apparatus, comprising:
-
an interface included in a driver, the interface for intercepting an application program interface (API) command stream including a plurality of API calls from a three-dimensional graphics application program; and a processor for; modifying, utilizing the driver, at least one of the plurality of API calls, based on an algorithm that tracks at least a portion of an upper body of a person, by displacing viewpoint data associated with the at least one of the plurality of API calls based on the at least a portion of the upper body of the person tracked utilizing the algorithm, generating a pushbuffer utilizing the at least one modified API call, and splitting the pushbuffer into a first pushbuffer and a second pushbuffer, and outputting, from the driver, the at least one modified API call to a graphics processing unit for generating at least one image utilizing the at least one modified API call, wherein the outputting of the at least one modified API call to the graphics processing unit includes communicating data in each of the first pushbuffer and the second pushbuffer to the graphics processing unit, without communicating the at least one modified API call back to the three-dimensional graphics application program; wherein the apparatus is operable such that the driver that intercepts the API command stream and the algorithm that tracks the at least a portion of the upper body of the person are separate from the three-dimensional graphics application program, such that the three-dimensional graphics application program is prevented from being aware of the interception and the modification of the at least one modified API call. - View Dependent Claims (24)
-
Specification