.\"#ident "%W%" %G%
.\"
.\" #
.\" # 
.\" # Permission to use, copy, modify, and distribute this material for
.\" # any purpose and without fee is hereby granted, provided that the
.\" # above copyright notice and this permission notice appear in all
.\" # copies, and that the name of Kubota Graphics not be used in
.\" # advertising or publicity pertaining to this material.  
.\" # 
.\" # KUBOTA GRAPHICS Corporation MAKES NO REPRESENTATIONS ABOUT THE ACCURACY
.\" # OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE.  IT IS PROVIDED
.\" # "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING THE
.\" # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" # PURPOSE AND KUBOTA GRAPHICS CORPORATION DISCLAIMS ALL WARRANTIES,
.\" # EXPRESS OR IMPLIED.
.\" #
.\"
.so /usr/local/lib/dpx/macros/local_macros/local.me
.ds BT "\\*(Dd System Guide
.ds CT "Standard X11 Driver
.ds h1 9
.L1 S TANDARD " X11"
.L2 D RIVER
.CH NINE
.lp
The Standard X11 device driver provides access
to any graphics device that supports the X11 Protocol.
This includes workstations running X windows and devices like X
terminals.
.lp
The Standard X11 device driver uses the software pipeline DROM.  
It also has access to a software Z-buffer.
.H1 "Using the Driver
A Standard X11 device object can be created using:
.(m
        DoDevice("stdx11", optionstring);
.)m
where "\f2stdx11\f1" is the device type and \f2optionstring\f1 is a list
of initialization options for the Standard X11 driver.
The \f2DoDevice <DOD>\f1 and \f2DdSetOptions <DDSO>\f1
manpages with Standard X11 driver-specific
information are provided in Section IV, \f2Manpages\f1, of this document.
.H3 "Initialization Options
The initialization options for the Standard X11 device driver are:
.ip "\-noautosize"
specifies that the device viewport not be automatically set to the
device extent when the device extent changes.  By default,
autosizing is on.
.ip "-screen \f2number\fP
specifies that the X11 window be opened on screen \f2number\fP.
The default is the default screen of the display
(\f2DefaultScreen(display)\fP).
.ip "-depth \f2depth\fP
specifies that the driver use a window of depth \f2depth\fP.
The depth will be determined from the available X visuals matching 
the other parameters if it is not specified.
.ip "-defaultmap
specifies the driver to use the X11 default color map when creating the
X11 window.
.ip "-trueramp \f2red green blue\fP
specifies that the driver use \f2red\fP values for red, 
\f2green\fP values for green, and \f2blue\fP values for blue
when using the shade mode \f2DcComponent\fP or \f2DcRange\f1.
.ip "-singlebuffered"
specifies a single buffered window.
The default is a double buffered window.
.ip "-geometry \f2geomstring\fP"
specifies a window with a particular position and size.
The format for \f2geomstring\fP is ``WxH+X+Y'' or ``WxH''
(where W, H, X, and Y are the integer values for width, height,
and the X, Y position of the upper left corner of the window).
If the ``WxH'' format is used, X and Y are assumed to be zero.
The default is 512x512+0+0.
.ip "-visualtype \f2vtype\fP"
specifies a window with the given visual type.
The possible values for \f2vtype\fP are \f2DcPseudoColor\fP for an
8\-bit pseudocolor window, \f2DcStaticGrey\fP for a greyscale
window, or \f2DcTrueColor\fP for a 24\-bit true color window.
The default visual type will be the default visual of the display and
screen (\f2DefaultVisual(display,screen)\fP).
.ip "-window \f2xwindow\fP"
specifies that the X window handle, \f2xwindow\fP, previously
opened by the application be used for drawing.  When using 
this option, the \f2\-display\fP option 
should also be specified. The \f2\-singlebuffered\fP, \f2\-geometry\fP, 
\f2\-visualtype\fP, \f2\-screen\fP, \f2\-depth\fP, and \f2\-defaultmap\fP 
options are ignored when a window is specified.
.ip "-display \f2xdisplay\fP"
specifies that the X display handle, \f2xdisplay\fP, previously
opened by the application be used as the X display device.
.ip "-zbuffer"
specifies that the device driver use the software Z-buffer.
The \f2-zbuffer\f1 option must be specified for \f2DoHiddenSurfSwitch\fP to
effectively control its use.
Hidden surface removal significantly reduces rendering speed.
The \f2-zbuffer\f1 device option will cause some overhead regardless of
whether hidden surface removal is enabled or disabled with
\f2DoHiddenSurfSwitch\fP.
.ip "-dither
specifies that dithering be enabled when using the Z-buffer.
.H3 "Modifying the Optional Values
The Standard X11 device driver allows modification of driver
specific values through the \f2DdSetOptions\fP call.
The following options can be changed with this call:
.ip "-dither
specifies that dithering be enabled when using the Z-buffer.
.ip "-nodither
specifies that dithering be disabled.
.ip "-singlebuffered"
specifies that the window be single buffered.
.ip "-doublebuffered
specifies that the window be double buffered.
.ip "-zbuffer
specifies that the software Z-buffer be enabled.
.ip "-nozbuffer
specifies that the software Z-buffer be disabled.
.H1 "Output Modules
The Standard X11 device driver supports both the 
production renderer output module (PROM) interface and 
the dynamic renderer output module (DROM) interface.  
.H1 "PROM Dependent Functions
The interface to the PROM is a very simple one, intended for renderers
that generate pixel data, such as the standard production renderer.
The Standard X11 PROM implements all functions of the PROM interface.  
As a result, any renderer that uses the PROM interface will be 
fully supported by the Standard X11 device driver.
.H1 "DROM Dependent Functions
When using the dynamic renderer, a function is supported only if
the DROM of the device driver being used also supports it.
Refer to Appendix A, \f2Supported Functions\fP, for a 
list of the \*(Dd functions
supported by the software pipeline DROM used
by the \*(CT.
.H1 "Limitations
The Standard X11 DROM has the following limitations.
.BU
\f2DoHiddenSurfSwitch\fP only works when the device driver has the
Z-buffer enabled by the \f2\-zbuffer\fP option.
.BU
It supports only ambient and infinite light types.
All other types will be approximated by one of these two types.
.BU
It does not support the interpolation type \f2DcSurfaceShade\fP for
\f2DoInterpType\fP.
.BU
Color interpolation between vertices will only be performed when the
Z-buffer is enabled, otherwise each facet is drawn with the average
of the colors at the vertices.
.H1 "Requirements
Applications built with a \*(Dd library that includes the Standard X11
device driver, such as the libraries included with this release,
will require that the X11 library be linked into the applications by using
\f2-lX11\f1.
