Patent ID: 7307630

Claim:
An apparatus for rendering a two dimensional polygon image from volume data defining a volume and plane data defining a two dimensional plane which intersects the volume, the apparatus comprising a graphics processing unit (GPU), wherein: (a) the apparatus is configured to generate triangle data comprising an indirect representation of the vertices of each triangle of a set of candidate triangles, wherein for a given plane/volume interaction a subset of the candidate triangles are valid triangles which are within the volume and on the given plane and the remaining triangles are invalid triangles; (b) the GPU is configured to process the indirect representation of the vertices of each triangle of the set of candidate triangles to output for a valid triangle for the defined plane a direct representation of the valid triangle and to output for an invalid triangle for the defined plane a direct representation of a degenerate triangle; (c) the GPU is configured to reject each direct representation of a degenerate triangle from further processing; and (d) the GPU is configured to process each direct representation of a valid triangle to form one or more triangle images which form the two dimensional polygon image; and wherein the direct representation of each triangle comprises a group of three output vertices, the output vertices for a valid triangle comprising three different values defining the corners of the triangle and the output vertices for an invalid triangle comprising at least two identical values, wherein the GPU is configured to perform operations (c) and (d) by: (I) rejecting a group of three vertices comprising at least two identical values; and (ii) forming a triangle image from a group of three vertices comprising three different values; wherein the GPU comprises a vertex unit, wherein the indirect representation of the vertices of each triangle comprises a group of three input vertex definitions, each input vertex definition defining a line on or through the volume and also defining information to determine the validity of the triangle wherein for a valid triangle for a given plane/volume interaction the line defined by each input vertex definition intersects the plane, and wherein the vertex unit is configured to process each input vertex definition to determine the validity of the triangle and for a valid triangle for the defined plane to output a respective output vertex by calculating and outputting the intersection point of the defined plane and the line defined by the input vertex definition.