Every file should contain a copyright and permission notice, not just....

 *			Copyright (c) 1991 by
 *			Stardent Computer Inc.
 *			All Rights Reserved
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose and without fee is hereby granted,
 * provided that the above copyright notice appear in all copies and that
 * both that copyright notice and this permission notice appear in
 * supporting documentation, and that the name of Stardent Computer not be
 * used in advertising or publicity pertaining to distribution of the
 * software without specific, written prior permission. Stardent Computer
 * makes no representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.

(just following directions...)

PEXIM is a library that implements a subset of PHIGS (PHIGS88 &
PHIGS-PLUS) and the PHIGS Immediate Mode Extensions being proposed by an
ad hoc working group of X3H3.1 as PHIGS Escapes to be registered as
standard extensions to PHIGS.  For a fuller discussion of what PEXIM is
see the paper in the proceedings of the Fifth X Technical Conference.

It should be thought of as a PHIGS-lite.  It adheres to PHIGS syntax, but
does not have any input or inquiries.  

It now appears that there will be several alternative APIs - PHIGS being
the recommended API - to generate PEX protocol.  In addition to PEXIM,
there is also a PEXlib on the X11R5 contrib area and perhaps PEXtk. In
addition, Ithaca Software intends to make HOOPS spit out PEX protocol.
Each of these offers strengths and weaknesses; each has a different
focus.  At this point in the PEX timeline we should be encouraging a
variety of toolkits.  PEXIM offers several advantages: the PHIGS "C"
binding, no input and a smaller executable size.

PEXIM really has a PHIGS API.  All PEX OutputCommands are generated by
calling a PHIGS "C" binding routine with syntax identical to the PEX-SI
"C" binding.  The Renderer attribute setting routines use PHIGS Workstation
routines for such things as Light Sources, Views, Color Tables, etc...

This is advantageous because code written for PHIGS can be easily
changed to use PEXIM and vice versa. Also, there are several PHIGS books
to be published this year: 3 so far this year and anywhere from one to
four by the end of the year.  The level of PHIGS expertise in the 3D
industry is rising quickly.

PEXIM does not try to do everything.  Specifically, PEXIM does not try
to do input.  This one aspect means that PEXIM applications do not needs
phigsmon - a companion process to PEX-SI applications.  PEXIM does not
yet do is Renderer Picking, since that is not supported with the 5.0
protocol.  This will be added in a future revision.

PEXIM only does a handful of inquiries.  The number of inquiries will
grow as applications need more inquiries - but there are many inquiries
that are truly obscure.

PEXIM provides a minimal subset of PHIGS - basically, everything one
needs for rendering.  This subset of PHIGS is not overwhelming to the
new user.

PEXIM does not rule anything out.  Server side structure storage has
been added to PEXIM in order to support mixed mode traversals.  We
intend to continue to enhance this interface to meet applications needs,
these enhancements will be in accordance with the PEX-SI PHIGS "C"
binding when possible.

Also, PEXIM application can be quite a bit smaller than the corresponding
PHIGS applications.  A trivial PHIGS program to spin a variety of
primitives takes about 1 megabyte. With PEXIM this can be under 100K.

The current implementation of PEXIM depends on the PEX-SI code for all
requests except for ROCs.  ROCs are handled in pocs.c and putils.c.


README			- This file.
pexim.h			- include file for PEXIM applications.
pexim.c			- PEXIM extensions to PHIGS.
peximint.h		- internal include file.
pocs.c			- Output Command source file.
putils.c		- copy utilities.
pws.c			- PHIGS workstation routines to change renderer.
cb_xfut.c		- from PEX-SI, redefine macros to disable PHOP test.
mpat.c                  - Multiple PEXIM Acceptance Test
pat.c			- PHIGS annotation text test+
ttp.c			- totally trivial PEXIM application
Imakefile		- make file generator.
Makefile		- starter Makefile

In addition, in the man subdirectory there are the following files

cover.pexim                 pexim_intro.3PEXIM
pbegin_rendering.3PEXIM     pinit.3PEXIM
pbegin_structure.3PEXIM     pinq_renderer_state.3PEXIM
pclose_renderer.3PEXIM      popen_renderer.3PEXIM
pend_rendering.3PEXIM       ppause_rendering.3PEXIM
pend_structure.3PEXIM       presume_rendering.3PEXIM
pexim.logo                  set_struct_ws.3PEXIM


BUGS: send bugs to jch@stardent.com