Method and system for defining and controlling algorithmic elements in a graphics display system
First Claim
1. A method for controlling a plurality of atomic algorithmic elements in a 3D graphics system via a 3D graphics application programming interface (API), comprising:
- receiving the algorithmic elements at the 3D graphics API, wherein the algorithmic elements represent computational algorithms to be performed on graphics data received by a 3D graphics chip including a computational component for processing graphics data; and
downloading the algorithmic elements to a the 3D graphics chip using the 3D graphics API, thereby programming the 3D graphics chip to process graphics data received by the 3D graphics chip according to the algorithmic elements, wherein the programming includes altering the computational algorithms performed by the computational component to perform the computational algorithms represented by the algorithmic elements.
2 Assignments
0 Petitions
Accused Products
Abstract
An API is provided that enables programmability of a 3D chip, wherein programming or algorithmic elements written by the developer can be downloaded to the chip, thereby programming the chip to perform those algorithms. A developer writes a routine that is downloadable to a 3D graphics chip. There are also a set of algorithmic elements that are provided in connection with the API that have already been programmed for the developer, that are downloadable to the programmable chip for improved performance. Thus, a developer may download preexisting API objects to a 3D graphics chip. A developer adheres to a specific format for packing up an algorithmic element, or set of instructions, for implementation by a 3D graphics chip. The developer packs the instruction set into an array of numbers, by referring to a list of ‘tokens’ understood by the 3D graphics chip. This array of numbers in turn is mapped correctly to the 3D graphics chip for implementation of the algorithmic element by the 3D graphics chip.
36 Citations
28 Claims
-
1. A method for controlling a plurality of atomic algorithmic elements in a 3D graphics system via a 3D graphics application programming interface (API), comprising:
-
receiving the algorithmic elements at the 3D graphics API, wherein the algorithmic elements represent computational algorithms to be performed on graphics data received by a 3D graphics chip including a computational component for processing graphics data; and downloading the algorithmic elements to a the 3D graphics chip using the 3D graphics API, thereby programming the 3D graphics chip to process graphics data received by the 3D graphics chip according to the algorithmic elements, wherein the programming includes altering the computational algorithms performed by the computational component to perform the computational algorithms represented by the algorithmic elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer readable storage medium bearing computer executable instructions for performing the steps of:
-
receiving a plurality of atomic algorithmic elements embodied as software objects at a 3D graphics API, wherein each atomic algorithmic element of the plurality of algorithmic elements represents at least one computational algorithm to be performed on graphics data received by a 3D graphics chip including a computational component for processing graphics data; and downloading the algorithmic elements to a the 3D graphics chip using the 3D graphics API, thereby programming the 3D graphics chip to process graphics data received by the 3D graphics chip according to the algorithmic elements, wherein the programming includes altering the computational algorithms performed by the computational component to perform the at least one computational algorithm represented by the plurality of algorithmic elements. - View Dependent Claims (11, 12, 13)
-
-
14. A computing device having a 3D graphics software interface as a layer between executing applications and the graphics pipeline that renders and processes the graphics data, comprising:
-
a 3D graphics API, wherein the 3D graphics API receives a plurality of atomic algorithmic elements and provides the algorithmic elements to a 3D graphics chip, wherein each atomic algorithmic element of the plurality of algorithmic elements represents at least one computational algorithm to be performed on graphics data received by a 3D graphics chip including a computational component for processing graphics data, thereby programming the 3D graphics chip to process graphics data received by the 3D graphics chip based on the algorithmic elements, wherein at least one of the plurality of algorithmic elements programs the 3D graphics chip to perform pre-defined steps of computation on the graphics data and alters the computational algorithms performed by the computational component to perform the at least one computational algorithm represented by the at least one of the plurality of algorithmic elements. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer readable storage medium including computer executable modules comprising computer executable instructions for controlling a plurality of atomic algorithmic elements carried out on graphics data by a 3D graphics coprocessor in a 3D graphics system, comprising:
-
means for receiving at least one atomic algorithmic element by a 3D graphics application programming interface (API), wherein the at least one algorithmic element at least one computational algorithm to be performed on graphics data received by a 3D graphics coprocessor including a computational component for processing graphics data; and means for downloading the at least one algorithmic element to the 3D graphics coprocessor using the 3D graphics API, thereby programming the 3D graphics coprocessor to perform process said graphics data according to the at least one algorithmic element, wherein the programming includes altering the computational algorithms performed by the computational component to perform the computational algorithms represented by the algorithmic elements. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification