
VT8601 Apollo ProMedia
Revision 1.3 September 8, 1999
-122
3D Graphics Engine Registers
7HFKQRORJLHV ,QF
:H&
:H&RRQQHFW
QQHFW
Bresenham Edge Parameters
Bresenham Edge parameters describe an edge of a primitive or
a line.
DoubleWord 0 – Start Coordinates
31-16 Start YS1
Starting coordinate of the line in the Y direction
(signed 12.4 number). The fractional part must be 0.
This parameter is ignored in minor edges.
15-0 Start XS1
Starting coordinate of the line in the X direction
(signed 12.4 number). The fractional part must be 0.
DoubleWord 1 – Drawing Direction / Bresenham Constant
31
YS Drawing Direction
0
Positive
1
Negative
30
XS Drawing Direction
0
Positive
1
Negative
29
Swap
0
Normal (X / Y not swapped)
1
X / Y swapped
28-16 Bresenham (or Modified) Constant
15-13 Reserved
................................................... ignored
12-0 Bresenham (or Modified) Constant
DoubleWord 2 – Error Term / Strip Length
31-29 Reserved
........................... must be written as zero
28-16 Initial Error Term
15-12 Reserved
........................... must be written as zero
11-0 Strip Length
Strip length of modified Bresenham line.
DDA Edge Parameters
DDA Edge parameters describe an edge of a primitive or a
line.
DoubleWord 0 – Start Coordinates
31-16 Start YS1
Starting coordinate of the line in the Y direction
(signed 12.4 number). The fractional part must be 0.
This parameter is ignored in minor edges.
15-0 Start XS1
Starting coordinate of the line in the X direction
(signed 12.4 number). The fractional part must be 0.
DoubleWord 1 – Drawing Direction / Edge Slope
31
YS Drawing Direction
0
Positive
1
Negative
30
XS Drawing Direction
0
Positive
1
Negative
29
Swap
0
Normal (X / Y not swapped)
1
X / Y swapped
28-26 Reserved
................................................... ignored
25-0 Edge Slope
12.14 signed number
When a DDA edge is used as a polygon boundary, the
fractional bits should round up to the next
integer.
Interpolation values should be adjusted accordingly.
DDA
edge walking shares the same logic as Bresenham edge
walking by using an error advance method. In DDA walking,
fractional bits should be rounded up to the next integer.
Rounding up is performed by changing drawing convention
according to whether the fractional parts are 0 as follows:
•
Left fractional is 0: Left inclusive.
•
Left fractional is not 0: Left exclusive.
•
Right fractional is 0: Right exclusive.
•
Right fractional is not 0: Right inclusive.
Because the error advance method is used for DDA walking,
the fractional part is always one step ahead of the coordinate.
For the starting point of a line, the fractional part is assumed
to be 0.