Vertex cache for 3D computer graphics
First Claim
1. A 3D videographics system including:
- a memory storing polygon vertex data, and a 3D graphics engine including a graphics pipeline having at least a transform unit, a rasterizer, a texture unit and a pixel engine, said 3D graphics engine generating and displaying images at least in part in response to said polygon vertex data, said 3D graphics engine comprising a vertex cache arrangement operatively coupled to said memory, said vertex cache arrangement caching said polygon vertex data from said memory prior to use by said 3D graphics engine transform unit, wherein said polygon vertex data includes an indexed polygon vertex data structure and said vertex cache arrangement operates in accordance with said indexed polygon vertex data structure representation to cache vertex attribute data and make it available for efficient access by the 3D graphics engine transform unit without requiring explicit resorting of said polygon vertex data for image display.
3 Assignments
0 Petitions
Accused Products
Abstract
In a 3D interactive computer graphics system such as a video game display system, polygon vertex data is fed to a 3D graphics processor/display engine via a vertex cache used to cache and organize indexed primitive vertex data streams. The vertex cache may be a small, low-latency cache memory local to the display engine hardware. Polygons can be represented as indexed arrays, e.g., indexed linear lists of data components representing some feature of a vertex (for example, positions, colors, surface normals, or texture coordinates). The vertex cache can fetch the relevant blocks of indexed vertex attribute data on an as-needed basis to make it available to the display processor—providing spatial locality for display processing without requiring the vertex data to be prestored in display order. Efficiency can be increased by customizing and optimizing the vertex cache and associated tags for the purpose of delivering vertices to the graphics engine—allowing more efficient prefetching and assembling of vertices than might be possible using a general-purpose cache and tag structure.
-
Citations
21 Claims
-
1. A 3D videographics system including:
-
a memory storing polygon vertex data, and a 3D graphics engine including a graphics pipeline having at least a transform unit, a rasterizer, a texture unit and a pixel engine, said 3D graphics engine generating and displaying images at least in part in response to said polygon vertex data, said 3D graphics engine comprising a vertex cache arrangement operatively coupled to said memory, said vertex cache arrangement caching said polygon vertex data from said memory prior to use by said 3D graphics engine transform unit, wherein said polygon vertex data includes an indexed polygon vertex data structure and said vertex cache arrangement operates in accordance with said indexed polygon vertex data structure representation to cache vertex attribute data and make it available for efficient access by the 3D graphics engine transform unit without requiring explicit resorting of said polygon vertex data for image display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. In a 3D videographics system including a memory storing polygon vertex data, and a 3D graphics engine including a graphics pipeline having at least a transform unit, a rasterizer, a texture unit and a pixel engine, said 3D graphics engine generating and displaying images at least in part in response to said polygon vertex data,
a method for caching polygon vertex data prior to use by said 3D graphics engine transform unit, said method including the steps of: -
representing said polygon vertex data by an indexed polygon vertex data structure;
retrieving said polygon vertex data from said memory; and
caching said polygon vertex data in a low-latency cache memory device local to said 3D graphics engine to make said vertex data available for efficient access by the 3D graphics engine transform unit. - View Dependent Claims (15, 16)
-
-
17. A 3D videographics system including:
-
a memory storing polygon vertex data and a 3D graphics pipeline that renders and displays images at least in part in response to said polygon vertex data, wherein said polygon vertex data includes an indexed polygon vertex data structure and said videographics system further comprises a vertex cache operatively coupled to said memory and to a command stream processor, said vertex cache retrieving and caching polygon vertex data from said memory prior to use by said 3D graphics pipeline according to said indexed polygon vertex data structure representation, wherein said vertex data is made available for efficient access by the 3D graphics pipeline without requiring explicit resorting of said polygon vertex data for image display.
-
-
18. A vertex data caching arrangement for a 3D videographics system comprising:
-
a memory storing polygon vertex attribute data and an indexed polygon vertex data structure indexing at least a portion of said polygon vertex attribute data;
a command stream processor that parses at least indices corresponding to said indexed polygon vertex data structure and provides said parsed indices to a low-latency cache memory device;
a low-latency cache memory device operatively coupled to the command stream processor and to said memory, said cache memory device retrieving polygon vertex attribute data from said memory in response to at least parsed indices provided by the command stream processor and caching the retrieved vertex attribute data; and
a graphics pipeline coupled to said cache memory device, said graphics pipeline generating image data for displaying at least in part in response to the vertex attribute data cached in said low-latency cache memory device.
-
- 19. A memory device storing a 3D graphics command stream for use by a 3D graphics engine of the type including a graphics pipeline having at least a transform unit, a rasterizer, a texture unit and a pixel engine, said 3D graphics engine, in use, generating images for display at least in part in response to said 3D graphics command stream, said 3D graphics engine including a vertex cache that caches polygon vertex data from memory prior to use by said transform unit, said stored graphics command stream including a vertex stream that references indexed polygon vertex attribute data cached in the vertex cache for efficient use by said graphics pipeline without requiring explicit re-ordering of vertices represented by said vertex stream specially for image display.
Specification