Patent ID: 7280106

Claim:
A method, performed in a processing apparatus, of processing data defining a three-dimensional mesh of planar triangles representing the surface shape of a three-dimensional object, to generate data defining a texture coordinate map comprising a two-dimensional area in which triangles corresponding to the triangles from the mesh are defined, the method comprising: testing the triangles in the mesh to generate a plurality of triangle lists, each triangle list identifying a sequence of connected triangles in the mesh or identifying a single triangle in the mesh, with at least one of the generated triangle lists identifying a sequence of connected triangles; generating a texture coordinate map by defining a respective triangle in a two-dimensional area for each triangle in the mesh in accordance with the generated triangle lists, such that, for each respective list, the triangles in the list are defined in the two-dimensional area in accordance with the sequence defined by the list; and rendering an image of a three-dimensional computer model based on the texture coordinate map, wherein the triangles in the mesh are tested to generate the plurality of triangle lists such that each list identifies a sequence of connected triangles in the mesh satisfying at least one predetermined geometric criterion or identifying a single triangle in the mesh, with at least one list identifying a sequence of connected triangles, wherein the processing to test the triangles in the mesh to generate each triangle list comprises: selecting a triangle from the mesh which is not already part of a list as the first triangle in the list; selecting a triangle connected to the first triangle in the mesh as a candidate triangle; adding the candidate triangle to the triangle list if the resulting list satisfies the predetermined geometric criterion, otherwise not adding the candidate triangle to the list; identifying a triangle in the list which has two edges to which triangles are not connected in the list and selecting a triangle connected in the mesh to the identified triangle as a candidate triangle; adding the candidate triangle to the triangle list if the resulting list satisfies the predetermined geometric criterion, otherwise not adding the candidate triangle to the list; repeating the processing to select a candidate triangle and to add or not add the candidate triangle to the triangle list in dependence upon the predetermined geometric criterion until no further triangles can be added to the list.