- alpha_transparency
The HP Visualize-FX
devices support alpha transparency. Alpha only applies to filled
areas such as polygons, quadrilateral meshes, triangular strips,
and spline surfaces. Vector primitives are not rendered with alpha_transparency.
The alpha transparency feature is limited to CMAP_FULL
in a depth 12 or 24 visual. Only the floating point version of these
primitives will be rendered with alpha transparency; device coordinate
primitives do NOT use alpha. The HP Visualize-FX
devices do not support alpha transparency with attenuation. (See
alpha_transparency(3G)
in the Starbase Reference manual for the
list of parameters). Note that Starbase does not utilize a hardware
alpha buffer to implement alpha transparency.
- block_read,
block_write
The raw parameter for the block_read
and block_write
commands is used by this driver to do plane-major reads and writes.
It is enabled by the gescape R_BIT_MODE.
The storage destination supplied by the user as the source
or destination must be organized as follows.
The data from each plane is packed
with eight pixels per byte.
Each row must begin on a byte boundary. Thus, the
size of the rectangle as specified by the 〈length_x〉
and 〈length_y〉 parameters
must correspond to an integral number of bytes.
The data for the next plane begins on the following
byte boundary.
Clip to the screen limits.
The first pixel in the source rectangle is placed
in the high-order bit of the first byte in each plane region.
When clipping, part of each plane region will not
be read (block_read)
or altered (block_write).
A bit mask selects the planes to read or write.
The initial value of this mask is 1 (one) indicating that only plane
0 is to be accessed. The value of the mask may be changed using
the R_BIT_MASK
or GR2D_PLANE_MASK
gescapes. GR2D_PLANE_MASK
is discussed in the appendix of the HP-UX Starbase Device
Drivers Manual. The planes selected by the mask are
expected to reside in consecutive plane locations in the user storage
area. This reduces the storage requirements to exactly what is needed
but also presents the potential for addressing violations or undesirable
results.
For example, if the plane mask is changed to specify more
planes between a block_read
and a following block_write
from the same location, the block_write
will attempt to access storage for planes that were not read (and
perhaps not allocated). The application program must ensure consistency
in these operations.
- fill_dither
The ability to dither is disabled if the number
of colors specified by fill_dither
is one. However, if the number of colors specified is greater than
1, the default dither cell size of 16 is used. Dithering is only
used in depth 8 visuals while in either the CMAP_FULL
or CMAP_MONOTONIC
color map mode, and in depth 12 visuals while in CMAP_FULL
color map mode.
- interior_style
The styles
INT_PATTERN and
INT_HATCH are
not supported by the HP Visualize-FX devices.
- light_source
Up to 15 directional light sources are available
on HP Visualize-FX devices. The HP Visualize-FX
devices' hardware accelerates up to eight directional light sources.
Using nine to fifteen directional light sources will cause a noticeable
performance degradation.
- line_filter,
perimeter_filter
Anti-aliasing is supported on the HP Visualize-FX
devices. Anti-aliasing for this device applies only to floating
point vectors. Device coordinate and integer (primitives that use
gopen's INT_XFORM
mode) primitives do not use anti-aliasing.
The anti-aliasing features are also limited to the CMAP_FULL
color map mode in a depth 12 or 24 visual.
The HP Visualize-FX devices have three
anti-aliasing modes that may be specified with the line_filter
and perimeter_filter
procedures. The index values are assigned as follows:
Title not available (Conditional Support of Starbase Calls on the HP Visualize-FX
Devices )
- 0
Anti-aliasing disabled, all vectors have one pixel
wide output.
- 1
Anti-aliasing enabled, all vectors have two pixel
wide output. Pixel values are multiplied by the alpha value and
blended with the background according the the formula:
pixel_color = (new_pixel × α) + (old_pixel × (1 - α)); |
- 2
Anti-aliasing enabled, all vectors have two pixel
wide output. Pixel values are multiplied by the alpha value and
blended with the background according to the formula:
pixel_color= (new_pixel
× α) + old_pixel
- 3
Anti-aliasing enabled, but with no alpha blending.
pixel_color=new_pixel
Note that this implementation of 2 pixel wide anti-aliasing
differs from the CRX-48Z (with 3-wide anti-aliasing). It is also
slightly different than the anti-aliasing implementation on the
HP Visualize-48 and HP Visualize-48XP.
- shade_mode
The color map mode may be selected. Shading can
be turned on only if using PowerShade. Shading is not supported
on device coordinate primitives even with PowerShade. Note that
the HP Visualize-FX devices automatically use
PowerShade.
- text_precision
Only STROKE_TEXT
precision is supported.
- vertex_format
If using PowerShade software, vertex_format
is fully functional. Note that the HP Visualize-FX
devices automatically use PowerShade.
- *_with_data
The following routines are called with_data
routines because they allow you to send extra vertex data. These
with_data routines
are supported by the HP Visualize-FX devices.
partial_polygon_with_data3d
quadrilateral_mesh_with_data
Note that the TEXTURE_MAP
flag applies only to the TurboVRX devices via the texture_*
routines. This extra data per vertex is not used in the tm_*
routines.
For detailed information on these routines, read the Starbase
Reference and "Appendix A" of this document. In some
cases, you will be able to find the routines under their own name,
but in other cases, you will need to use the first part of the routine
name to locate these routines (e.g., polyline_with_data3d
is described on the man page for polyline(3G)).