The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jan. 04, 2005
Filed:
Feb. 24, 2003
David F. Aronson, Woodinville, WA (US);
Amar Patel, Redmond, WA (US);
Anantha R. Kancheria, Redmond, WA (US);
Anuj B. Gosalia, Redmond, WA (US);
Craig Peeper, Bellevue, WA (US);
Daniel K. Baker, Bellevue, WA (US);
Iouri Tarassov, Bellevue, WA (US);
Loren Mcquade, Bellevue, WA (US);
David F. Aronson, Woodinville, WA (US);
Amar Patel, Redmond, WA (US);
Anantha R. Kancheria, Redmond, WA (US);
Anuj B. Gosalia, Redmond, WA (US);
Craig Peeper, Bellevue, WA (US);
Daniel K. Baker, Bellevue, WA (US);
Iouri Tarassov, Bellevue, WA (US);
Loren McQuade, Bellevue, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
Usage semantics allow for shaders to be authored independently of the actual vertex data and accordingly enables their reuse. Usage semantics define a feature that binds data between distinct components to allow them to work together. In various embodiments, the components include high level language variables that are bound by an application or by vertex data streams, high level language fragments to enable several fragments to be developed separately and compiled at a later time together to form a single shader, assembly language variables that get bound to vertex data streams, and parameters between vertex and pixel shaders. This allows developers to be able to program the shaders in the assembly and high level language with variables that refer to names rather than registers. By allowing this decoupling of registers from the language, developers can work on the language separately from the vertex data and modify and enhance high level language shaders without having to manually manipulate the registers. This also allows the same shaders to work on different sets of mesh data, allowing the shaders to be reused. Generally, semantics can be used as a data binding protocol between distinct areas of the programmable pipeline to allow for a more flexible workflow.