Accessing primitive data using tessellated primitive ID
AssigneeImagination Technologies Limited
InventorPeter Malcolm Lacey
Life of this patent
Estimating the term…
Abstract
A method of generating identifiers (IDs) for primitives and optionally vertices during tessellation. The IDs include a binary sequence of bits that represents the sub-division steps taken during the tessellation process and so encodes the way in which tessellation has been performed. Such an ID may subsequently be used to generate a random primitive or vertex and hence recalculate vertex data for that primitive or vertex.
Claims20
A method of performing tessellation in a computer graphics system, the method comprising:
- receiving, in a tessellation unit, an ID of a primitive;
- truncating the ID of the primitive in a plurality of different places to generate vertex IDs of vertices in the primitive;
- for a sub-set of the vertices in the primitive, truncating the vertex ID of each vertex in a plurality of different places to generate IDs of parent vertices;
- using the vertex IDs to calculate UV coordinates for each vertex in the primitive and the parent vertices for the sub-set of the vertices in the primitive;
- and
- generating, using a Domain Shader, vertex data for each vertex in the primitive from the calculated UV coordinates.
A computer graphics system comprising:
- a tessellation unit comprising hardware logic arranged to:
- receive, in a tessellation unit, an ID of a primitive;
- truncate the ID of the primitive in a plurality of different places to generate vertex IDs of vertices in the primitive;
- for a sub-set of the vertices in the primitive, truncate the vertex ID of each vertex in a plurality of different places to generate IDs of parent vertices;
- and
- use the vertex IDs to calculate UV coordinates for each vertex in the primitive and the parent vertices for the sub-set of the vertices in the primitive;
- and
- a Domain Shader comprising hardware logic arranged to generate vertex data for each vertex in the primitive from the calculated UV coordinates.
A non-transitory computer-readable storage medium having stored thereon processor executable instructions that, when executed in a computer graphics system, cause at least one processor of said system to:
- receive, in a tessellation unit of said computer graphics system, an ID of a primitive;
- truncate the ID of the primitive in a plurality of different places to generate vertex IDs of vertices in the primitive;
- for a sub-set of the vertices in the primitive, truncate the vertex ID of each vertex in a plurality of different places to generate IDs of parent vertices;
- use the vertex IDs to calculate UV coordinates for each vertex in the primitive and the parent vertices for the sub-set of the vertices in the primitive;
- and
- generate, using a Domain Shader, vertex data for each vertex in the primitive from the calculated UV coordinates.
Dependencies are inferred from the claim text.