The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jan. 08, 2002
Filed:
Apr. 03, 1999
Roland M Hochmuth, Ft Collins, CO (US);
Samuel C Sands, Loveland, CO (US);
Bradley Louis Saunders, Ft Collins, CO (US);
Alan D Ward, Ft Collins, CO (US);
Hewlett-Packard Company, Palo Alto, CA (US);
Abstract
A method of buffering graphics vertex commands adaptively. A minimally-formatted vertex values buffer is created. As vertex commands are received from application software, attribute values are stored in an attribute values buffer until a vertex coordinate command is received. Upon receipt of a vertex coordinate command, attribute values are copied from the attribute values buffer into the vertex values buffer. Whenever application software issues a vertex attribute command corresponding to an attribute type that is not currently reflected in the vertex values buffer format, the vertex values buffer is automatically reformatted to include the new attribute type. Thus, the vertex values buffer automatically adapts itself to the behavior of the application. Multiple primitives are buffered between flushes. First-call and subsequent-call versions of code are provided for vertex commands. At initialization, a dispatch table is populated with pointers to the first-call versions. Thereafter, the dispatch table entries are manipulated by the commands themselves. Multiple subsequent-calls versions are provided for a single vertex coordinate command, each of the different subsequent-calls versions optimized for a different vertex values buffer format. The first-call version of the command determines which of the subsequent-calls versions is optimal for the current vertex values buffer format, and places a pointer to the optimized version in the dispatch table. Thereafter, the copying of values from the attribute values buffer into the vertex values buffer is done by the subsequent-calls version in a manner that corresponds exactly to the current vertex values buffer format, and without making any decisions.