US 7,593,010 B2
Software-implemented transform and lighting module and pipeline for graphics rendering on embedded platforms using a fixed-point normalized homogenous coordinate system
Lifeng Wang, Beijing (China); Ke Deng, Beijing (China); Baining Guo, Beijing (China); and Joshua William Buckman, Redmond, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Sep. 18, 2003, as Appl. No. 10/666,917.
Prior Publication US 2005/0091616 A1, Apr. 28, 2005
This patent is subject to a terminal disclaimer.
Int. Cl. G06T 15/30 (2006.01)
U.S. Cl. 345—421 22 Claims
OG exemplary drawing
 
1. A computer-implemented method for processing rendering data containing vertices, comprising:
defining a vertex cache as a software cache located within a transform and lighting module and containing vertices in a floating-point format;
determining that a first vertex of the rendering data has already been transformed but not lighted and storing the first vertex in the vertex cache such that the first vertex bypasses a transformation module of the transform and lighting module;
converting the vertices in a floating-point format into a normalized homogeneous coordinate system (NHCS) fixed-point format by performing lighting and texture generation and transformation to obtain NHCS fixed-point format vertices;
performing view frustum clipping on the NHCS fixed-point format vertices after the lighting and texture generation and transformation;
transforming vertices of the rendering data that have not already been transformed from model space into clip space; and
continuing to store vertices of the rendering data that have already been transformed but not lighted in the vertex cache as needed to facilitate a single streamline branched architecture that avoids processing duplication of the vertices;
wherein defining a vertex cache, determining that a first vertex of the rendering data has already been transformed, converting the vertices, performing view frustum clipping, transforming vertices, and continuing to store vertices are performed using a processing device of the computer.