Built-in Display Drivers

RenderDotC comes with a number of display drivers for sending rendered images to devices and graphics file formats.

Framebuffers:
- X-Windows (X11)
- Microsoft Windows

Graphics files:
- TIFF
- Zfile
- Shadow map

Most of these display drivers come in two flavors, internal and external.  While the internal version is usually recommended, the external version conforms to the standard display driver interface and can be used with other conforming tools.  Look in the $RDCROOT/etc directory for external display driver binaries.  To select the external flavor, use the actual name of the shared library file.

In addition, users may write and install custom display drivers.


X-Windows

This is the standard framebuffer driver on all UNIX platforms.  It handles 24-bit DirectColor, 8-bit PseudoColor, and 1-bit Monochrome output.  The driver opens a window on the display of the X server, which is usually the local computer but can be overridden by the X environment variable "DISPLAY".  It then determines the maximum bit depth supported by the display device and either uses that or the value of DSPYBITSPERPIXEL, whichever is greater.

For 8-bit and 1-bit displays, the image is initially rendered using ordered dithering and a balanced palette.  When rendering is completed, and image improvement phase takes place and the image is redrawn.  Monochrome images are improved with Floyd-Steinberg error diffusion dithering (see "An Adaptive Algorithm for Spatial Greyscale" by Robert Floyd and Louis Steinberg, Proceedings of the Society for Information Display, V.17 #2, 2nd Quarter 1976, P. 75).  For PseudoColor images, a new colormap is selected by the median cut algorithm (see "Color Image Quantization for Frame Buffer Display" by Paul Heckbert, Computer Graphics, V. 16 #3, July 1982, p. 297) and redisplayed with Floyd-Steinberg dithering.

When the rendered window is selected for focus, it recognizes several commands which may be typed from the keyboard.  To close the window, type "q", "Q", or ESC.  To save the rendered image in the current directory as a TIFF file called "RenderDotC.tif", type "s" (for RGBA) or "S" (for RGB).  If the display gets corrupted for some reason, typing "r" or "R" will force a refresh of the window.

This display driver honors the DSPYGAMMA, DSPYBACKGROUNDPIXELVALUE, and DSPYPAUSE environment variables.


Microsoft Windows

This is the standard framebuffer driver on the Windows platforms.  It handles 24-bit TrueColor, 8-bit Palette mode, and 1-bit Monochrome output.  The driver opens a window on the screen.  It then determines the maximum bit depth supported by the graphics card and either uses that or the value of DSPYBITSPERPIXEL, whichever is greater.

For 8-bit and 1-bit displays, the image is initially rendered using ordered dithering and a balanced palette.  When rendering is completed, and image improvement phase takes place and the image is redrawn.  Monochrome images are improved with Floyd-Steinberg error diffusion dithering (see "An Adaptive Algorithm for Spatial Greyscale" by Robert Floyd and Louis Steinberg, Proceedings of the Society for Information Display, V.17 #2, 2nd Quarter 1976, P. 75).  For Palette mode images, a new colormap is selected by the median cut algorithm (see "Color Image Quantization for Frame Buffer Display" by Paul Heckbert, Computer Graphics, V. 16 #3, July 1982, p. 297) and redisplayed with Floyd-Steinberg dithering.

When the rendered window is selected for focus, it recognizes several commands which may be typed from the keyboard.  To close the window, type "q", "Q", or ESC.  To save the rendered image in the current directory as a TIFF file called "RenderDotC.tif", type "s" (for RGBA) or "S" (for RGB).  If the display gets corrupted for some reason, typing "r" or "R" will force a refresh of the window.

On Microsoft Windows, the main RenderDotC process does not exit until all framebuffer displays are closed.

This display driver honors the DSPYGAMMA and DSPYBACKGROUNDPIXELVALUE environment variables.


TIFF

This is the standard "file" display driver on all platforms.  It creates an image file in the Tagged Image File Format (TIFF).  Output channels may be 32-bit floating point or 8-bit, 16-bit, or 32-bit integers.  Although the TIFF specification states that each channel may have a different format, most TIFF software (such as libtiff) does not support it.  If a request is made to output channels of different formats, the TIFF driver will "promote" all channels to match the format of the widest one.  Up to 5 channels per pixel may be output, any combination of R, G, B, A, and Z.

The following parameters may be added to the RiDisplay token-value list to control various aspects of the generated TIFF file:

"uniform string resolutionunit" ["inch" or "centimeter"]
"uniform float resolution[2]" [xres yres]
If both of these are present, the resolution, xresolution, and yresolution tags will be stored in the TIFF file.  They indicate the number of pixels per inch (or centimeter).
"uniform string compression" ["LZW", "packbits", "pixarlog", "jpeg", "deflate", or "none"]
Selects the TIFF compression scheme.  The default is "deflate" (also known as gzip).
"varying float ReferenceBlackWhite[2]" [refblack1 refwhite1 refblack2 refwhite2 refblack3 refwhite3]
Sets values for the referenceblackwhite TIFF tag.  There should be exactly six values, one black and one white for each of the first three channels.  If this parameter is not present, RenderDotC provides default values based on the quantization parameters.  For more information, see Color Quantization For Film.
"uniform string ImageDescription" ["text"]
"uniform string DocumentName" ["text"]
"uniform string PageName" ["text"]
"uniform string Artist" ["text"]
If present, these strings are stored in the TIFF file under the same-named tag.  There are no default values.
"uniform string HostComputer" ["text"]
Overrides default value obtained from gethostname(2).
"uniform string Software" ["text"]
The default value of the TIFF software tag is a RenderDotC copyright message.

Zfile

This driver creates a simple and increasingly portable file format for single channel depth (z) maps.  Zfiles may be converted to RenderDotC shadow maps with texdc -z, MakeShadow, or RiMakeShadow().

There is no internal flavor of this driver.  The source code is available as $RDCROOT/etc/d_zfile.c


Shadow map

Selecting the "shadow" display driver creates a RenderDotC shadow map directly, bypassing the two step process of creating a zfile and converting it to a shadow file.  The resulting shadow map can be used by light shaders that call the built-in shadow() function.

There is no external flavor of this driver.


Copyright © 1999-2006 Dot C Software, Inc. All rights reserved.
Dot C Software, Inc., 182 Kuuhale St., Kailua, HI 96734
(808) 262-6715 (voice) (808) 261-2039 (fax)
The RenderMan® Interface Procedure and RIB Protocol are:
Copyright © 1988, 1989, Pixar.  All rights reserved.
RenderMan® is a registered trademark of Pixar.