Token-based buffer system and method for a geometry pipeline in three-dimensional graphics
AssigneeS3 Graphics Co., Ltd.
InventorsDong-Ying Kuo, Mike Hong, Fred Liao
Life of this patent
Estimating the term…
Abstract
A token-based buffer system for a geometry pipeline in three-dimensional graphics comprises: a buffer control initialization (BCI) unit, a new token or index module, a geometry control pipeline, a vertex buffer, and a processing engine. The token-based buffer system provides a shared resource environment in which tokens are assigned for blocks of data. Each block of data includes that data necessary for each unit or stage in the geometry pipeline to perform its computation. The use of tokens is advantageous because it optimizes the storage efficiency for storing the blocks of data and ensures the correctness of the data as it is passed between stages.
Claims26
A system for token-based buffering and processing of three-dimensional graphics, the system comprising:
- a model view transformation unit having an input and an output, the input of the model view transformation unit coupled to receive a token that is an index to vertex data;
- a Z clipping unit having an input and an output, the input of the Z clipping unit coupled to the output of the model view transformation unit;
- a projection unit having an input and an output, the input of the projection unit coupled to the output of Z clipping unit;
- a perspective transformation unit having an input and an output, the input of the perspective transformation unit coupled to the output of projection unit;
- a lighting unit having an input and an output, the input of the lighting unit coupled to the output of Z clipping unit, the lighting unit operating concurrently with the projection unit or the perspective transformation unit;
- a triangle rendering unit having an inputs and an output, a first input of the triangle rendering unit coupled to the output of the perspective transformation unit, a second input of the triangle rendering unit coupled to the output of the lighting unit;
- and
- a pixel rendering unit having an input and an output, the input of the pixel rendering unit coupled to the output of the triangle rendering unit, the pixel rendering unit providing data representing pixels at its output.
A system for token-based buffering and processing of three-dimensional graphics, the system comprising:
- a buffer control initialization unit having an input, a first output and a second output, for storing data and assigning tokens, the input of the buffer control initialization unit coupled to receive commands and vertex data;
- a vertex buffer having a data input, a control input, and a data output, the vertex buffer for storing data that is indexed by tokens, the data input and control input coupled to the output of the buffer control initialization unit;
- a ratio engine having a data input, a data output and a control input, the ratio engine for performing arithmetic and logic computations, the data input and the data output coupled to the input and output of the vertex buffer;
- and
- a geometry control pipeline having an input and an output, the geometry control pipeline for controlling the configuration of ratio engine to perform different computations of a geometry pipeline, the input of the geometry control pipeline coupled to the output of the buffer control initialization unit to receive tokens, and the output of the geometry control pipeline coupled to the control inputs of the vertex buffer and the control input of the ratio engine.
A method for processing vertex data, the method comprising the steps of:
- storing received data in a buffer;
- assigning the stored data a token, the token being an index to a location in the buffer where the received data is stored;
- sending the token to a stage in a geometry pipeline;
- receiving the token at the stage in the geometry pipeline;
- retrieving from the buffer the data at a location specified by the token;
- processing the retrieved data with an engine configured as the next pipeline stage;
- and
- storing the processed data in the buffer at the location specified by the token.
Dependencies are inferred from the claim text.