[Commit] papers/xr_ols2003 introduction.tex,1.12,1.13 related.tex,1.1,1.2

Keith Packard commit@keithp.com
Fri, 16 May 2003 10:58:17 -0700


Committed by: keithp

Update of /local/src/CVS/papers/xr_ols2003
In directory home.keithp.com:/tmp/cvs-serv26199

Modified Files:
	introduction.tex related.tex 
Log Message:
cite porter/duff.  add some related work

Index: introduction.tex
===================================================================
RCS file: /local/src/CVS/papers/xr_ols2003/introduction.tex,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- introduction.tex	16 May 2003 15:39:14 -0000	1.12
+++ introduction.tex	16 May 2003 17:58:15 -0000	1.13
@@ -93,10 +93,11 @@
 PostScript printer, application developers converged on that model.  Recent
 extensions to that model have been incorporated in PDF 1.4, but the basic
 architecture remains the same.  PostScript provides a simple painters model;
-each rendering operation places new paint on top of the contents of the surface
-PDF 1.4 extends this model to include Porter/Duff image compositing
-and other image manipulation operations which serve to bring the basic
-PostScript rendering model in line with modern application demands.
+each rendering operation places new paint on top of the contents of the
+surface PDF 1.4 extends this model to include Porter/Duff image
+compositing~\cite{porterduff:1984} and other image manipulation operations
+which serve to bring the basic PostScript rendering model in line with
+modern application demands.
 
 PostScript and PDF draw geometric shapes by constructing arbitrary paths of
 lines and cubic B\'ezier splines.  The coordinates used for the construction

Index: related.tex
===================================================================
RCS file: /local/src/CVS/papers/xr_ols2003/related.tex,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- related.tex	16 May 2003 06:49:38 -0000	1.1
+++ related.tex	16 May 2003 17:58:15 -0000	1.2
@@ -1,7 +1,50 @@
 \section{Related Work}
 
-XXX: PS, PDF (Already covered in introduction?)
+Of the many existing graphics systems, several relate directly to this
+new work.  
 
-XXX: OpenGL, DPS
+\subsection{PostScript and Display PostScript}
+
+As described in the Introduction, Xr adopts (and extends) the PostScript
+rendering model.  However, PostScript is not just a rendering model as it
+includes a complete programming language.  Display PostScript embeds a
+PostScript interpreter inside the window system.  Drawing is done
+by generating PostScript programs and delivering them to the window system.
+
+One obvious benefit of using PostScript everywhere is that printing and
+display can easily be done with the same rendering code, as long as the
+printer supports PostScript.  A disadvangage is that images are never
+generated within the application address space making it more difficult to
+use where PostScript is not available.
+
+Using the full PostScript language as an intermediate representation means
+that a significant fraction of the overall application development will be
+done in this primitive language.  In addition, the PostScript portion is
+executed asynchronously with respect to the remaining code further
+complicating development.  Integrating the powerful PostScript rendering
+model into the regular application development language provides a coherent
+and efficient infrastructure.
+
+\subsection{Portable Document Format}
+
+PDF provides a very powerful rendering model, but no application interface.
+Generating PDF directly from an application would require some kind of PDF
+API along with a PDF interpreter.  The goal for Xr is to be able to generate
+PDF output files while providing a clean application interface.
+
+A secondary goal is to allow PDF interpreters to be implemented on top of
+Xr.  As Xr is missing some of the less important PDF operations, those will
+need to be emulated within the interpreter.  An important feature within Xr
+is that such emulation be reasonably efficient.
+
+\subsection{OpenGL}
+
+OpenGL\cite{gl:1.2.1} provides an API with much the same flavor as Xr;
+immediate mode functions with an underlying stateful library.  OpenGL
+doesn't provide the PostScript rendering model, and doesn't purport to
+support printing or the local generation of images.
+
+As Xr provides an abstract interface atop many graphics architectures, it
+may well be possible to layer Xr on OpenGL.  For high performance OpenGL
+implementations, this may well be a good direction.
 
-XXX: libart?