摘要:
The invention provides for a system and method for minimizing space requirements and increasing speed in a geometry accelerator for a computer graphics system. In architecture, the system is implemented as follows. The geometry accelerator includes a plurality of processing elements (e.g., an arithmetic logic unit, a multiplier, a divider, a compare mechanism, a clamp mechanism, etc.) and a plurality of control units (e.g., a transform mechanism, a decomposition mechanism, a clip mechanism, a bow-tie mechanism, a light mechanism, a classify mechanism, a plane equation mechanism, a fog mechanism, etc.) that utilize the processing elements for performing data manipulations upon image data. In accordance with the invention, the control units are implemented in a read-only memory (ROM) via microcode. A next address field is associated with each of the microcode instructions and defines a location in the ROM of a next instruction to be executed. A plurality of control unit logic elements correspond respectively with the control units and control instruction branching within their respective control unit by defining the next address field. A branch central intelligence mechanism controls branching between the control units by defining the next address field.
摘要:
The invention provides for a system and method for minimizing space requirements and increasing speed in a geometry accelerator for a computer graphics system. In architecture, the system is implemented as follows. The geometry accelerator includes a plurality of processing elements (e.g., an arithmetic logic unit, a multiplier, a divider, a compare mechanism, a clamp mechanism, etc.) and a plurality of control units (e.g., a transform mechanism, a decomposition mechanism, a clip mechanism, a bow-tie mechanism, a light mechanism, a classify mechanism, a plane equation mechanism, a fog mechanism, etc.) that utilize the processing elements for performing data manipulations upon image data. In accordance with the invention, the control units are implemented in a read-only memory (ROM) via microcode. A next address field is associated with each of the microcode instructions and defines a location in the ROM of a next instruction to be executed. A plurality of control unit logic elements correspond respectively with the control units and control instruction branching within their respective control unit by defining the next address field. A branch central intelligence mechanism controls branching between the control units by defining the next address field.
摘要:
A system and method computes the color of a plurality of vertices of one or more graphic primitives in a graphics accelerator. The method includes the steps of receiving lighting properties of a primitive vertex and determining whether predetermined lighting properties of the vertex are the same as a previously computed vertex. If predetermined lighting properties are the same as the previously computed vertex, then the method retrieves at least one preprocessed value from a storage location; and utilizes the at least one preprocessed value to compute the vertex color. If, however, the predetermined lighting properties are not the same as the previously computed vertex, then the method computes at least one preprocessed value from the received lighting properties of the primitive vertex, stores the at least one computed preprocessed value in a storage location, and utilizes the at least one preprocessed value to compute the vertex color. The system includes at least one processing unit (e.g., ALU) for performing mathematical operations on lighting properties of a vertex of a graphics primitive. It also includes a storage area for storing predetermined values processed by the processing unit. A receiver is included and configured to receive at least two lighting properties defining a primitive vertex, and a lighting property comparator is configured to compare the at least two lighting properties with previously received lighting properties to determine whether they are the same. Finally a controller is provided and adapted to control the storage and retrieval of values from the storage area and the processing unit, the controller including storage control means responsive to the lighting property comparator configured to save newly processed vertex color values in the operational storage register and to retrieve preprocessed values from the storage area.
摘要:
A method computes exponentials of a lighting equation in a geometry accelerator. In accordance with one aspect of the invention, the method includes the steps of receiving values for a first term "a" and a second term "x" of an exponential in the form a.sup.x. The method then evaluates at least one of the first and second terms to determine whether it is an integer value. If the evaluating step determines that the at least one of the terms is an integer value, then the method sets a bit in a memory location. Thereafter, the method examines a bit in the memory location. If the bit is set, then the invention executes an integer exponentiation routine to calculate a.sup.x directly in the math core. If, however, the bit is not set, then the invention executes a floating point exponentiation routine to closely approximate the calculation of a.sup.x.
摘要:
The invention provides for a system and method for minimizing space requirements and increasing speed in a geometry accelerator for a computer graphics system by providing a branch central intelligence mechanism. Architecturally, the geometry accelerator includes a plurality of processing elements (e.g., an arithmetic logic unit, a multiplier, a divider, a compare mechanism, a clamp mechanism, etc.) and a plurality of control units (e.g., a transform mechanism, a decomposition mechanism, a clip mechanism, a bow-tie mechanism, a light mechanism, a classify mechanism, a plane equation mechanism, a fog mechanism, etc.) that utilize the processing elements for performing data manipulations upon image data. In accordance with the invention, the control units are implemented in a read-only memory (ROM) via microcode. A next address field is associated with each of the microcode instructions and defines a location in the ROM of a next instruction to be executed. A plurality of control unit logic elements correspond respectively with the control units and control instruction branching within their respective control unit by defining the next address field. Finally, a branch central intelligence mechanism controls branching between the control units by defining the next address field.
摘要:
The present invention provides a method and apparatus for processing primitives in a computer graphics display system. The present invention comprises a geometry accelerator for processing polygons to provide two-sided lighting for front and back facing polygons. The geometry accelerator comprises a lighting machine and a memory device in communication with the lighting machine. The geometry accelerator receives command data, vertex data, and parameter data from a central processing unit (CPU) of a computer graphics display system. The vertex data comprises polygon vertex color data, vertex coordinate data and vertex normal data. The parameter data comprises front and back material parameters. The command data comprises information relating to the type of primitive to be processed by the lighting machine. The geometry accelerator looks at the command data to determine whether the polygon is a front or back facing polygon and informs the lighting machine as to whether the polygon is a front or back facing polygon. The lighting machine will then fetch the correct set of material parameters and use them to calculate lighting.
摘要:
A novel system and method computes a floating point value of an exponential expression in the form of "a.sup.x " in a geometry accelerator. In accordance with one aspect of the invention, the method includes the steps of receiving the values "a" and x of the exponential expression, where both "a" and x are represented in floating point format. As will be appreciated by those skilled in the art, the values will by supplied by software through an appropriate graphics application program interface (API). The method utilizes a mantissa value of the floating point representation of "a" to index a first value in a first look-up table, the value being an approximation for log2(a). Then, the method multiplies the looked-up value by the value of x to obtain an intermediate result. This intermediate result is then partitioned into a fractional component and an integer component, wherein the fractional component is normalized/converted to floating point format. The method then utilizes a mantissa value of the floating point representation of the fractional component of the intermediate result to index a first value in a second look-up table, the value being an approximation for 2.sup.fract, where fract is the fractional component. Thereafter, the method computing 2.sup.integer, where integer is the integer component. This step may be directly computed by the math core of the geometry accelerator, since it is an integer exponent. Finally, the method multiplies the results of steps that compute the 2.sup.fract and 2.sup.integer values to obtain a final value. This final value is a close approximation of the exponential expression a.sup.x.