| United States-English |
|
|
|
![]() |
HP-UX Starbase Device Drivers Manual - Vol1: HP 9000 Series 700 Computers > Chapter 7 Internal Color Graphics
Workstations The Internal Color Graphics Device |
|
The hpgcrx device driver is supported on the Series 700 integrated graphics workstations that are described in the chapter Series 700 Internal Color Graphics device support is described in the chapter "Series 700 Graphics Devices" in the Graphics Administration Guide. The Internal Color Graphics device is a color display with a single bank of 8 planes for 256 colors. It is a member of the CRX family of devices that are supported by the hpgcrx Starbase driver. As such, it behaves much like the Integrated Graphics displays. The differences are noted in subsequent sections. Two important features that the Internal Color Graphics device provides are:
Some systems with the Internal Color Graphics device do not use the HP-HIL input interface. Therefore input from the raw input device using the hp-hil driver is not supported on these systems. They instead use the PS-2 standard keyboard and mouse. It is recommended that input be taken directly from the X server by using Xlib calls. Input from the X keyboard and X pointer device can also be done through Starbase. No other input devices are supported. Input through Starbase can be done in several ways. You can open the window you are rendering to as an OUTINDEV or INDEV device (see the gopen() function). The driver you will use is the same driver that you use for rendering (for example, hpgcrx). Input using the sox11 driver, hpvmx driver, kbd driver and the lkbd driver is also supported. These drivers do not interact with the input devices directly. They get the input data indirectly from the X server. Thus the normal X input focus policy applies. For more information, read the sections "Graphical Input through an X11 Window" and "Input Operation" in the chapter "Using Starbase with the X Window System" in the Starbase Graphics Techniques manual. The Internal Color Graphics display has a single bank of 8 planes; therefore, 8/8 double buffering is not done in the display hardware. However, it is possible to do virtual memory 8/8 double buffering. This capability is enabled by the existence (not the value) of the HP_VM_DOUBLE_BUFFER environment variable. For double-buffering information, see the section "VM Double-Buffering on 8-Plane Devices" in the chapter "HP VMX Device Drivers" in this manual. Double-buffering with less than 8 planes (4/4, 3/3, 2/2, 1/1) is supported for compatibility with previous devices, though it is not recommended, and it is only supported when shade_mode is CMAP_NORMAL. It is implemented by using write_enable and display_enable masks and may cause the technicolor effect to occur under some circumstances. Since the frame buffer information for the Internal Color Graphics device is the same as for the Integrated Graphics device, read the section "The Frame Buffer" in the chapter "Integrated Graphics Workstations" in this manual. The Internal Color Graphics display uses HP Color Recovery for shaded areas. HP Color recovery will generate a better picture by attempting to eliminate the graininess caused by dithering. There are two components to HP Color Recovery. A different dither cell size (16×2) is used when rendering shaded polygons, and a digital filter is used when displaying the contents of the frame buffer to the screen. HP Color Recovery is available on the Internal Color Graphics device whenever you are in CMAP_FULL mode and you have used the INIT flag in the gopen, shade_mode, or the double_buffer function to initialize color maps. Keep in mind that the default color map mode is CMAP_NORMAL for PseudoColor visuals; therefore, the color recovery color map will not be set up until you call shade_mode to set the mode to CMAP_FULL. HP Color Recovery is available when using either PseudoColor or TrueColor visuals. Under some conditions HP Color Recovery can produce undesirable artifacts in the image. This also happens with dithering, but the artifacts are different. However, images rendered with color recovery are seldom worse than what dithering produces. In most cases, HP Color Recovery produces significantly better pictures than dithering. Note that 4×4 dithering is available in the CMAP_FULL color map mode, but not in the CMAP_NORMAL color map mode. HP Color Recovery is available by default. If for some reason you wish to disable HP Color Recovery, you can do it in three ways:
In CMAP_FULL shade mode, disabling HP Color Recovery will return normal dithering. Note that HP Color Recovery is not available with any other shade mode. HP Color Recovery is enabled in conjunction with a particular X color map that is associated with your window. If the X color map of your window is not currently installed in hardware by your window manager, you may not see the HP Color Recovery effect of the HP Color Recovery filter. You may not even see the correct colors for that window. Since there are two hardware color maps available, this should happen infrequently. The HP Color Recovery color map is a read-only color map. Any attempts to change it will be ignored and no error will be reported. The COLOR_RECOVERY_CONTROL gescape can be used to disable HP Color Recovery. Passing it a 0 value in arg1 will disable HP Color Recovery, a 1 value will enable it (HP Color Recovery is enabled by default). The arg2 parameter is ignored. The effect of this gescape will not take place until the next time you call shade_mode or double_buffer with the INIT flag. For example:
The Internal Color Graphics device has two hardware color maps. These hardware color maps are selected and managed by the X server. For information on how the X server manages the color maps, read the section "Color Maps and Color Map Management" in this chapter. The use of multiple hardware color maps will minimize any technicolor effect that may occur due to different windows using different logical color maps. Some graphics applications written for 8-plane devices prior to the 9.03 release required the use of the SB_X_SHARED_CMAP environment variable to prevent the technicolor effect. Since the Internal Color Graphics device has two hardware color maps, applications written on it do not require the SB_X_SHARED_CMAP environment variable.
There are two dither cell sizes in use on the Internal Color Graphics device: a standard 4×4 pixel dither cell and a 16×2 pixel dither cell. The 16×2 dither is used for shaded areas whenever HP Color Recovery is enabled (see the section on "HP Color Recovery"). Otherwise, the 4×4 dither is used. Note that under some circumstances Starbase will employ dithering (with the 4×4 dither cell) when drawing lines and other primitives. The dither cell pattern on the Internal Color Graphics device is aligned relative to the position of the window. That means the pattern doesn't shift when the window is moved somewhere else on the screen. The dither cell alignment on previous CRX devices could vary depending on where on the screen the window was and whether the dither was done in software by the driver or in hardware. On the Internal Color Graphics device, Starbase supports the PseudoColor and TrueColor visuals. Table 7-1 “Supported Visuals ” lists the supported visuals. Table 7-1 Supported Visuals
Note that the TrueColor visual color map is a READ-ONLY color map and that any attempts to change it will be ignored, with no error message. For more information on the TrueColor visual, read the section "Device Support for the TrueColor Visual" found in this chapter. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||