Claims
- 1. A method of graphics processing comprising:
providing an input data stream to a texture and lighting stage of a three dimensional graphics processing pipeline; performing a texture transformation on the input data stream to form a transformed data stream; performing a perspective division operation on the transformed data stream to form a perspective data stream; performing a warping operation on the perspective data stream to form a warped data stream; performing a scan line conversion on the warped data stream to determine texture coordinate values (S, T) in floating point format; converting the values (S, T) in floating point format to scaled integer format utilizing a programmable floating point to integer scaled (FTOIS) instruction; storing the scaled integer format texture coordinates in a buffer; performing texture mapping on the scaled integer format texture coordinates; converting the scaled integer format texture coordinates to scaled floating point format texture coordinates (S, T) utilizing a programmable integer to floating point scaled (ITOFS) instruction; and using the scaled floating texture coordinates to display an image.
- 2. The method of claim 1 wherein the scaled integer format is a byte in the range of 0 to 255.
- 3. The method of claim 1 wherein the scaled floating point format is a single precision number in the range of 0.0 to 1.0.
- 4. The method of claim 1 wherein the scaled floating point format is a single precision number in the range of
- 5. The method of claim 1 wherein the warped data stream comprises a plurality of triangle vertices and the step of performing a scan line conversion further comprises:
interpolating each parameter of the triangle vertices of the warped data stream.
- 6. The method of claim 1 wherein the values (S, T) in scaled integer format utilize less storage space than the values (S, T) in floating point format.
- 7. The method of claim 1 wherein the FTOIS instruction comprises a programmable data type field defining an output data type of the instruction.
- 8. The method of claim 1 wherein the step of storing further comprises:
storing two 8 bit integers per textured pixel of the scaled integer format texture coordinates.
- 9. An apparatus for executing a programmable floating point to integer scaled (FTOIS) instruction, the FTOIS instruction converting an input floating point number read from a selectable source register to a scaled integer number written to a selectable target register, said scaled integer number comprising fewer bits than the input floating point number.
- 10. The apparatus of claim 9 wherein the input floating point number comprises a texture coordinate.
- 11. The apparatus of claim 9 wherein the scaled integer number is stored in a data type format selected from a plurality of data types.
- 12. The apparatus of claim 11 wherein the selected data type format is a byte in the range of 0 to 255.
- 13. The apparatus of claim 11 wherein the scaled integer number is duplicated depending on the selected data type format.
- 14. The apparatus of claim 9 wherein the input floating point number is a single precision number in the range of 0.0 to 1.0.
- 15. An apparatus for executing a programmable integer to floating point scaled (ITOFS) instruction, the ITOFS instruction converting an input integer number read from a selectable source register to a scaled floating point number written to a selectable target register, said input integer number comprising fewer bits than the scaled floating point number.
- 16. The apparatus of claim 15 wherein the ITOFS instruction is programmable to convert the input integer number to the scaled floating point number in the range of zero to negative one or negative one to negative one.
- 17. The apparatus of claim 15 wherein the ITOFS instruction selectably duplicates the scaled floating point number if the scaled floating point number comprises few bits than a target floating point result.
- 18. A computer program product comprising a computer readable medium on which is stored program instructions for a method of graphical processing, the method comprising:
performing a texture transformation on the input texture and lighting data stream to form a transformed data stream; performing a perspective division operation on the transformed data stream to form a perspective data stream; performing a warping operation on the perspective data stream to form a warped data stream; performing a scan line conversion on the warped data stream to determine values (S, T) in floating point format; converting the values (S, T) in floating point format to scaled integer format utilizing a hardware implemented floating point to integer scaled (FTOIS) instruction; storing the scaled integer format texture coordinates in a buffer; performing texture mapping on the scaled integer format texture coordinates; converting the scaled integer format texture coordinates to scaled floating point format texture coordinates (S, T); and outputting the scaled floating texture coordinates to a display.
- 19. The computer program product of claim 18 wherein the warped data stream comprises a plurality of triangle vertices and the step of performing a scan line conversion further comprises:
interpolating each parameter of the triangle vertices of the warped data stream.
- 20. The computer program product of claim 18 wherein the values (S, T) in scaled integer format utilize less storage space than the values (S, T) in floating point format.
- 21. The computer program product of claim 18 wherein the FTOIS instruction comprises a programmable data type field defining an output data type of the instruction.
- 22. An apparatus for graphics processing comprising:
means for providing an input data stream to a texture and lighting stage of a three dimensional graphics processing pipeline; means for performing a texture transformation on the input data stream to form a transformed data stream; means for performing a perspective division operation on the transformed data stream to form a perspective data stream; means for performing a warping operation on the perspective data stream to form a warped data stream; means for performing a scan line conversion on the warped data stream to determine values (S, T) in floating point format; means for converting the values (S, T) in floating point format to scaled integer format utilizing a programmable floating point to integer scaled (FTOIS) instruction; means for storing the scaled integer format texture coordinates in a buffer; means for performing texture mapping on the scaled integer format texture coordinates; means for converting the scaled integer format texture coordinates to scaled floating point format texture coordinates (S, T) utilizing a programmable integer to floating point scaled (ITOFS) instruction; and means for using the scaled floating texture coordinates to display an image.
Parent Case Info
[0001] The present application claims the benefit of U.S. Provisional Application Serial No. 60/368,509 filed Mar. 29, 2002, which is incorporated by reference herein in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60368509 |
Mar 2002 |
US |