
NUC970 Technical Reference Manual
Publication Release Date: Dec. 15, 2015
- 1006 -
Revision V1.30
NUC97
0
T
E
CHNIC
A
L
RE
F
E
RE
N
CE
MA
NUA
L
Auto Destination Update
5.28.5.11
When the Auto Update bit is set to 1, the destination start X, Y (address) registers are automatically
updated at the end of each BitBLT operation to indicate to the right of the top-right corner of the
previous destination area. This is especially usefully at improving Font Expanding BLT where, at most
of the time, only source start X, Y (address) registers are needed to update for each BitBLT.
Alpha Blending
5.28.5.12
Alpha blending is supported for graphic overlaying. Two 8-bit alpha-depth blending factors are
supported for overlaying by properly programming the alpha blending factors Ks and Kd in
Miscellaneous Control register. Ks specify the 8-bit alpha value of source stream, and Kd specifies the
8-bit alpha value of destination stream respectively. Note that Ks + Kd would be <= 256.
The blending equation is: [Ps
Ks
Pd
Kd]
256, where Ps means the source stream pixels and Pd
means the destination stream pixels.
Bresenham Line Draw
5.28.5.13
The Bresenham line drawing algorithm is used to draw a pixel wide solid or textured line from screen
coordinates x1, y1 to x2, y2. To draw a solid line, the foreground color is used to specify color of the
line. To draw a textured line, a 16-bit line style is used to specify the pattern of line, with all ones in the
style being expanded to a pixel of foreground color and all zeros being either expanded to a pixel of
background color or transparent.
The Bresenham line drawing algorithm operates with all parameters normalized to the first octant
(octant 0). A 3-bit octant code is specified as shown in the following Figure.
+X
+Y
000
001
111
110
011
101
100
010
Figure 5.28-3 Bresenham Line Drawing Octant
Bresenham Line Draw Octant Encoding
5.28.5.14
In order to avoid drawing the endpoints of poly-lines twice, this chip provides a function that inhibits
the drawing of the last pixel of the line, and this function is provided for the Bresenham Line Draw. The
Bresenham Line Draw operation may be either a draw operation, or mere a move operation. On
completion of the Bresenham Line Draw operation, destination start X, Y normally points at the last
pixel of the line by setting Auto Destination Update to be 1. It may also points at the original position of
the line when Auto Destination Update is 0. Note that the Bresenham Line Draw operation is available
only in X/Y addressing mode.