Pixel engine
Abstract
There is provided a method for compressing texture values comprising: assigning texture values in a YUV format; packing the texture values into 32-bit words; and color promoting the texture values to 8-bit values. The YUV format has a Y component for every pixel sample, and U/V (they are also named Cr and Cb) components for every fourth sample. Every U/V sample coincides with four (2×2) Y samples. A single 32-bit word contains four packed Y values, one value each for U and V, and optionally four one-bit Alpha components as follows: YUV_0566-5-bits each of four Y values, 6-bits each for U and V; and YUV_1544-5-bits each of four Y values, 4-bits each for U and V, four 1-bit Alphas. The color promotion converts these components from 4-, 5-, or 6-bit values to 8-bit values. This method yields compression from 96 bits down to 32 bits, or 3:1 compression.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for determining the rate of change of texture address variables U and V as a function of address variables x and y of a pixel, wherein,
U is the texture coordinate of the pixel in the S direction V is the texture coordinate of the pixel in the T direction W is the homogenous w value of the pixel (typically the depth value) Inv_W is the inverse of W C 0 n is the value of attribute n at some reference point. (x′=0 , y′=0) CXn is the change of attribute n for one pixel in the raster x direction CYn is the change of attribute n for one pixel in the raster y direction n includes S=U/W and T=V/W x is the screen coordinate of the pixel in the x raster direction y is the screen coordinate of the pixel in the y raster direction the method comprising the steps of: calculate the start value and rate of change in raster x,y direction for the attribute T resulting in C 0 s, CXs, Cys; calculate the start value and rate of change in the raster x,y direction for the attribute T, resulting in C 0 t, CXt, Cyt; calculate the start value and rate of change in the raster x,y direction for the attribute 1/W, resulting in C 0 inv_W, CXinv_W, CYinv_W; calculate the perspective correct values of U and V resulting in U = C0s + CXs * X + CYs * Y C0inv_w + CXinv_w * X + CYinv_w * Y V = C0t + CXt * X + CYt * Y C0inv_w + CXinv_w * X + CYinv_w * Y Calculate the rate of change of texture address variables U and V as a function of address variables x and y, resulting in u x = W * [ CXs - U * CXinv_w ] u y = W * [ CYs - U * CYinv_w ] v y = W * [ CYt - V * CYinv_w ]
2 . The method of claim 1 further including the step of determining a mip-map selection and a weighting factor for trilinear blending in a texture mapping process comprising calculating:
LOD
=
Log
2
[
W
*
MAX
[
(
CXs
-
U
*
CXinv_w
)
2
+
(
CXt
-
V
*
CXinv_w
)
2
,
(
CYs
-
U
*
CYinv_w
)
2
+
(
CYt
-
V
*
CYinv_w
)
2
]
]
3 . The method of claim 1 further including the step of determining a mip-map selection and a weighting factor for trilinear blending in a texture mapping process comprising calculating:
LOD
=
Log
2
(
W
)
+
Log
2
[
MAX
[
(
CXs
-
U
*
CXinv_w
)
2
+
(
CXt
-
V
*
CXinv_w
)
2
,
(
CYs
-
U
*
CYinv_w
)
2
+
(
CYt
-
V
*
CYinv_w
)
2
]
]
4 . A method for compressing texture values comprising:
Assigning texture values in a YUV format; Packing the texture values into 32-bit words; and Color promoting the texture values to 8-bit values.
5 . A method of performing motion compensation in a computer graphics engine having trilinear filtering hardware and a pallette RAM, comprising:
Using texture filtering hardware to perform motion compensation filtering; and Using pallette RAM to store motion compensation error correction data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.