Programmable per-pixel shader with lighting support
OwnerDavid Collodiinventor
Life of this patent
Estimating the term…
Abstract
A programmable hardware per-pixel shading device for use in real-time 3D graphics applications containing additional asynchronous hardware units to assist in real-time per-pixel lighting. The standard programmable shading unit contains hardware for execution of a user-defined sequence of texture lookup and color blend operations. Programmable shader is assisted by a Vector Generation Unit responsible for generating normalized shading vectors and providing said vectors for use within said programmable shading unit. One or more Vector Shading Units operate in parallel with the programmable shading unit providing hardware accelerated lighting/color calculations and making results available for use in the programmable shading unit.
Claims51
A per-pixel graphics processing unit for use in a system for lighting a plurality of polygon surfaces in a rendering system, the graphics processing unit comprising:
- a. dedicated hardware logic operable to perform a sequence of lighting calculations that generate per-pixel lighting equation lighting coefficients for a plurality of the drawn pixels;
- and
- b. per-pixel user programmable hardware logic communicating with the dedicated hardware logic to receive the per-pixel lighting coefficients and perform additional shading calculations using the lighting coefficients.
A per-pixel graphics processing unit for use in a system for lighting a plurality of polygon surfaces in a rendering system, the graphics processing unit comprising:
- a. dedicated hardware logic operable to perform a sequence of lighting calculations that generate per-pixel specular lighting value coefficients for a plurality of the drawn pixels;
- and
- b. per-pixel user programmable hardware logic communicating with the dedicated hardware logic to receive the per-pixel lighting coefficients and perform additional shading calculations using the specular lighting value coefficients.
A per-pixel graphics processing unit for use in a system for lighting a plurality of polygon surfaces in a rendering system, the graphics processing unit comprising:
- a. dedicated hardware logic operable to perform a sequence of lighting calculations that generate per-pixel diffuse lighting value coefficients for a plurality of the drawn pixels;
- and
- b. per-pixel user programmable hardware logic communicating with the dedicated hardware logic to receive the per-pixel lighting coefficients and perform additional shading calculations using the diffuse lighting value coefficients.
A per-pixel graphics processing unit for use in a system for lighting a plurality of polygon surfaces in a rendering system, the graphics processing unit comprising:
- a. dedicated hardware logic operable to perform a sequence of lighting calculations including the calculation of a substantially normalized point light vector;
- and
- b. per-pixel user programmable hardware logic communicating with the dedicated hardware logic to receive the substantially normalized point light vector and perform additional shading calculations.
A per-pixel graphics processing unit for use in a system for lighting a plurality of polygon surfaces in a rendering system, the graphics processing unit comprising:
- a. dedicated hardware logic operable to perform a sequence of lighting calculations including the calculation of a surface normal vector;
- and
- b. per-pixel user programmable hardware logic communicating with the dedicated hardware logic to receive the surface normal vector and perform additional shading calculations.
A per-pixel graphics processing unit for use in a system for lighting a plurality of polygon surfaces in a rendering system, the graphics processing unit comprising:
- a. dedicated hardware logic operable to perform a sequence of lighting calculations including the calculation of a reflection vector;
- and
- b. per-pixel user programmable hardware logic communicating with the dedicated hardware logic to receive the reflection vector and perform additional shading calculations.
Dependencies are inferred from the claim text.