Patent ID: 7800631

Claim:
An apparatus comprising: a rendering engine that defines a rectangular area of pixels that bounds an entire triangular area of the pixel that defines a triangle to be rendered, wherein the rectangular area of pixels includes one or more lines of pixels; and the rendering engine further selects each of the one or more lines of pixels within the rectangular area of pixels, sequentially evaluates coordinates associated with the pixels of each line of pixels starting at one end of the rectangular area to determine whether the one or more pixels fall within the triangular area, wherein the one end of the rectangular area is common for the sequential evaluation of each line of pixels, ceases evaluation of the coordinates associated with the pixels of each line of pixels upon determining that at least one pixel of the line falls within the triangular area and a current pixel no longer falls within the triangular area, stores information indicating which of the pixels fall within the triangular area, selectively renders the pixels that fall within the triangular area by computing updated pixel data for those pixels in accordance with a set of linear equations that describe one or more attributes associated with the triangular area, and computes an inverse coefficient matrix M 1 for computing linear coefficients A, B, C of the set of linear equations, and applies the coefficient A, B, C to each pixel that falls within the triangular area to compute an attribute value for the respective pixel, wherein the rendering engine applies the coefficient matrix M 1 to compute the linear coefficients A, B, C, for an attribute associated with vertices v 0 (x 0 ,y 0 ), v 1 (x 1 ,y 1 ), and v 2 (x 2 ,y 2 ) of the triangle as: [ A B C ] = M - 1 ⁡ [ v 0 v 1 v 2 ] , where a coefficient matrix M equals: M = [ x 0 y 0 1 x 1 y 1 1 x 2 y 2 1 ] , where the inverse coefficient matrix M 1 equals: M - 1 = 1 det ⁡ ( M ) ⁢ M C T , where det(M) equals: det( M )=| M|=x 1 y 2 +x 2 y 0 +x 0 y 1 −x 2 y 1 −x 0 y 2 −x 1 y 0 , where M T C is a transpose of matrix M C ; where matrix M C equals: M c = [ y 1 - y 2 x 2 - x 1 x 1 ⁢ y 2 - x 2 ⁢ y 1 y 2 - y 0 x 0 - x 2 x 2 ⁢ y 0 - x 0 ⁢ y 2 y 0 - y 1 x 1 - x 0 x 0 ⁢ y 1 - x 1 ⁢ y 0 ] ⁢ , ⁢ and an attribute value for each pixel (X c , Y c ) is computed as v=AX c +BY c +C.