[Commit] papers/xr_ols2003 introduction.tex,1.5,1.6
Keith Packard
commit@keithp.com
Thu, 15 May 2003 21:38:49 -0700
- Previous message: [Commit] Xr/src Xr.h,1.26,1.27 xr.c,1.24,1.25 xrgstate.c,1.34,1.35 xrint.h,1.40,1.41 xrsurface.c,1.15,1.16
- Next message: [Commit] papers/xr_ols2003 introduction.tex,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: keithp
Update of /local/src/CVS/papers/xr_ols2003
In directory home.keithp.com:/tmp/cvs-serv20355
Modified Files:
introduction.tex
Log Message:
Shuffle text about a bit, add new subsections
Index: introduction.tex
===================================================================
RCS file: /local/src/CVS/papers/xr_ols2003/introduction.tex,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- introduction.tex 16 May 2003 03:15:28 -0000 1.5
+++ introduction.tex 16 May 2003 04:38:47 -0000 1.6
@@ -1,31 +1,27 @@
\section{Introduction}
-\subsection{Vector Graphics}
-
-\subsection{Xr Programming Interface}
+The design of the Xr library is motivated by the desire to provide a
+high-quality rendering interface for all areas of application presentation,
+from labels and shading on buttons to the central image manipulation in a
+drawing or painting program. The existing X-based rendering infrastructure
+has provided barely enough capability to draw buttons and sliders, moving
+from that to a complete rendering environment should serve to drive future X
+application development in exciting directions.
-While the goal of the Xr library is to provide a PDF 1.4 imaging model, PDF
-doesn't provide any programming language interface. Xr borrows it's
-imperative immediate mode model from PostScript operators. However, instead
-of proposing a complete new programming language to encapsulate these
-operators, Xr uses C functions for the operations and expects the developer
-to use C instead of PostScript to implement the application part of the
-rendering system. This dramatically reduces the number of operations needed
-by the library as only those directly involved in graphics need be
-provided. The large number of PostScript operators that support a complete
-language are more than adequately replaced by the C programming language.
+\subsection{Vector Graphics}
-PostScript encapsulates rendering state in a global opaque object and
-provides simple operators to change various aspects of that state, from
-color to line width and dash patterns. Because global objects can cause
-various problems in C library interfaces, the graphics state in Xr is held
-in a structure that is passed to each of the library functions.
+On modern display hardware, an applications desire to present information
+using abstract geometric objects must be translated to physical pixels at
+some point in the process. The later this transition occurs in the
+rendering process the fewer pixelization artifacts will appear as a result of
+additional transformation operations on pixel-based data.
-The translation from PostScript operators to the Xr interface is
-straightforward. For example, the \texttt{lineto} operator translates to
-the \texttt{XrLineTo} function. The coordinates of the line endpoint needed
-by the operator are preceded by the graphics state object in the Xr
-interface.
+Existing application artwork is often generated in pixel format because the
+rendering operations available to the application at runtime are a mere
+shadow of those provided in a typical image manipulation program. Providing
+sufficient rendering functionality within the application envioronment
+allows artwork to be provided in vector form which presents high quality
+results at a wide range of sizes.
% I thought it might be nice to get tux onto the front page.
% Maybe a discussion/comparison of raster vs. vector image descriptions
@@ -67,3 +63,47 @@
% (http://www.isc.tamu.edu/~lewing/linux/). Vectorized version by Larry
% Budig (http://www.home.unix-ag.org/simon/penguin/).
+\subsection{Vector Rendering Model}
+
+The two-dimensional graphics world is fortunate to have one dominant
+rendering model. With the introduction of desktop publishing and the
+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 replaces the contents of the surface with a new
+image. 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.
+
+PostScript and PDF draw geometric shapes by constructing arbitrary paths of
+lines and cubic Bezier splines. The coordinates used for the construction
+can be transformed with an affine matrix. This provides a powerful
+compositing technique as the transformation may be set before a complex
+object is drawn to position and scale it appropriately. Text is treated as
+pre-built path sections which couples it tightly and clealy with the rest of
+the model.
+
+\subsection{Xr Programming Interface}
+
+While the goal of the Xr library is to provide a PDF 1.4 imaging model, PDF
+doesn't provide any programming language interface. Xr borrows it's
+imperative immediate mode model from PostScript operators. However, instead
+of proposing a complete new programming language to encapsulate these
+operators, Xr uses C functions for the operations and expects the developer
+to use C instead of PostScript to implement the application part of the
+rendering system. This dramatically reduces the number of operations needed
+by the library as only those directly involved in graphics need be
+provided. The large number of PostScript operators that support a complete
+language are more than adequately replaced by the C programming language.
+
+PostScript encapsulates rendering state in a global opaque object and
+provides simple operators to change various aspects of that state, from
+color to line width and dash patterns. Because global objects can cause
+various problems in C library interfaces, the graphics state in Xr is held
+in a structure that is passed to each of the library functions.
+
+The translation from PostScript operators to the Xr interface is
+straightforward. For example, the \texttt{lineto} operator translates to
+the \texttt{XrLineTo} function. The coordinates of the line endpoint needed
+by the operator are preceded by the graphics state object in the Xr
+interface.
- Previous message: [Commit] Xr/src Xr.h,1.26,1.27 xr.c,1.24,1.25 xrgstate.c,1.34,1.35 xrint.h,1.40,1.41 xrsurface.c,1.15,1.16
- Next message: [Commit] papers/xr_ols2003 introduction.tex,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]