# [cairo-commit] papers/opengl_freenix04 opengl_freenix04.tex, 1.44, 1.45

David Reveman commit at pdx.freedesktop.org
Wed Apr 7 02:13:20 PDT 2004

Committed by: davidr

Update of /cvs/cairo/papers/opengl_freenix04
In directory pdx:/tmp/cvs-serv24858

Modified Files:
opengl_freenix04.tex
Log Message:
more fixes

Index: opengl_freenix04.tex
===================================================================
RCS file: /cvs/cairo/papers/opengl_freenix04/opengl_freenix04.tex,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** a/opengl_freenix04.tex	6 Apr 2004 17:05:49 -0000	1.44
--- b/opengl_freenix04.tex	7 Apr 2004 09:13:18 -0000	1.45
***************
*** 1,4 ****
! \documentclass[workingdraft]{usetex-v1}
! %\documentclass[finalversion]{usetex-v1}

\usepackage{url}
--- 1,4 ----
! %\documentclass[workingdraft]{usetex-v1}
! \documentclass[finalversion]{usetex-v1}

\usepackage{url}
***************
*** 16,20 ****
\title{\Libname{}: Hardware Accelerated Image Compositing using OpenGL}

!   \docstatus{Preparing for presentation at USENIX Conference 2004}

\author{
--- 16,20 ----
\title{\Libname{}: Hardware Accelerated Image Compositing using OpenGL}

\author{
***************
*** 119,124 ****
throughout the rendering system.

!   X Render allow us to perform advanced graphics operations on the
!   server-side. Graphics operations that are performed on the server-side
can be accelerated by graphics hardware. XFree86's\cite{xfree86} Render
implementation uses XFree86 Acceleration Architecture (XAA)~\cite{xaa} to
--- 119,124 ----
throughout the rendering system.

!   X Render allows us to perform advanced graphics operations on
!   server-side. Graphics operations that are performed on server-side
can be accelerated by graphics hardware. XFree86's\cite{xfree86} Render
implementation uses XFree86 Acceleration Architecture (XAA)~\cite{xaa} to
***************
*** 183,187 ****
OpenGL is the obvious way to accelerate graphics output, in 2D as well as
3D. Surely most people think of OpenGL as a 3D graphics API, which is
!   understandable because it was used primarilly for 3D applications like
visualizations and games in the past. However it is just as well suited for
the kind of 2D graphics discussed in this paper, where transformations and
--- 183,187 ----
OpenGL is the obvious way to accelerate graphics output, in 2D as well as
3D. Surely most people think of OpenGL as a 3D graphics API, which is
!   understandable because it was used primarily for 3D applications like
visualizations and games in the past. However it is just as well suited for
the kind of 2D graphics discussed in this paper, where transformations and
***************
*** 321,327 ****
Pixel buffers or so called pbuffers are what make off-screen rendering
possible in OpenGL. Pbuffers are allocated independently of the
!     framebuffer and usually stored in video memory. The process of
rendering to pbuffer is accelerated by hardware in the same way as
!     rendering to the framebuffer. However, as pbuffers is a relatively
new feature in the OpenGL world, it is not yet supported by all
hardware and all drivers. When support for off-screen drawing is
--- 321,327 ----
Pixel buffers or so called pbuffers are what make off-screen rendering
possible in OpenGL. Pbuffers are allocated independently of the
!     frame-buffer and usually stored in video memory. The process of
rendering to pbuffer is accelerated by hardware in the same way as
!     rendering to the frame-buffer. However, as pbuffers is a relatively
new feature in the OpenGL world, it is not yet supported by all
hardware and all drivers. When support for off-screen drawing is
***************
*** 485,490 ****
\begin{itemize}
\item OpenGL's built in polygon smooth hint
!         \item Multipass using accumulation buffering
!         \item Multipass using blending
\item Full-scene anti-aliasing using software super-sampling
\item Full-scene anti-aliasing using hardware assist
--- 485,490 ----
\begin{itemize}
\item OpenGL's built in polygon smooth hint
!         \item Multi-pass using accumulation buffering
!         \item Multi-pass using blending
\item Full-scene anti-aliasing using software super-sampling
\item Full-scene anti-aliasing using hardware assist
***************
*** 621,625 ****
Table~\ref{conv} presents three useful convolution kernels and
figure ~\ref{original} and ~\ref{filtered} show the results of filtering
!     an image using a gaussian convolution kernel.

\begin{table}[h!tbp]
--- 621,625 ----
Table~\ref{conv} presents three useful convolution kernels and
figure ~\ref{original} and ~\ref{filtered} show the results of filtering
!     an image using a Gaussian convolution kernel.

\begin{table}[h!tbp]
***************
*** 697,704 ****
where it can be used with linear and radial patterns. This allows
applications to use linear and radial patterns for wide range of
By setting the \emph{extend} attribute of a color range to
\emph{pad, repeat} or \emph{reflect}, the application can also control
!     what should happend when patterns try to fetch color values outside
of the color range.

--- 697,704 ----
where it can be used with linear and radial patterns. This allows
applications to use linear and radial patterns for wide range of
By setting the \emph{extend} attribute of a color range to
\emph{pad, repeat} or \emph{reflect}, the application can also control
!     what should happen when patterns try to fetch color values outside
of the color range.

***************
*** 798,802 ****
\end{verbatim}
\end{scriptsize}
!     \caption{Rendering 3D graphics with a glitz surface as texture}
\label{opengl_3d_example}
\end{figure}
--- 798,802 ----
\end{verbatim}
\end{scriptsize}
!     \caption{Rendering 3D graphics with a \libname{} surface as texture}
\label{opengl_3d_example}
\end{figure}
***************
*** 850,854 ****
Anti-aliased rendering may introduce some additional inconsistencies in
the output between \libname{} and Xrender. The number of samples used
!   for multi-sampling has a big effect on the anti-aliasing quailty.
On older hardware, anti-aliasing isn't even guaranteed as it depends on
relatively new OpenGL extensions. Nevertheless, if \libname{} is run on
--- 850,854 ----
Anti-aliased rendering may introduce some additional inconsistencies in
the output between \libname{} and Xrender. The number of samples used
!   for multi-sampling has a big effect on the anti-aliasing quality.
On older hardware, anti-aliasing isn't even guaranteed as it depends on
relatively new OpenGL extensions. Nevertheless, if \libname{} is run on
***************
*** 925,929 ****
X11 & XFree86 4.3.0 \\
\hline
!         GPU & NVIDIA GeForce FX-5600 (NVIDIA's binary driver) \\
\end{tabular}
\end{footnotesize}
--- 925,929 ----
X11 & XFree86 4.3.0 \\
\hline
!         GPU & Nvidia GeForce FX-5600 (Nvidia's binary driver) \\
\end{tabular}
\end{footnotesize}
***************
*** 954,958 ****
blends one image onto another using the over operator with
a blur filter. For \libname{} this means applying a 3x3 mean blur
!           convolution filter. The Xrender version used for this test doesn't
support convolution filters, and the test is therefor skipped.
\end{itemize}
--- 954,958 ----
blends one image onto another using the over operator with
a blur filter. For \libname{} this means applying a 3x3 mean blur
!           convolution filter. The version of Xrender used for this test doesn't
support convolution filters, and the test is therefor skipped.
\end{itemize}
***************
*** 965,975 ****
& im-off & xr-on  & xr-off & gl-on & gl-off \\
\hline \hline
!         over  & 3.769  & 2.286  & 2.240  & 0.123 & 0.107  \\
\hline
!         scale & 16.427 & 87.761 & 85.488 & 0.127 & 0.131  \\
\hline
!         blend & 31.585 & 73.020 & 72.707 & 0.263 & 0.263  \\
\hline
!         blur  & 26.234 & -      & -      & 3.093 & 3.085  \\
\end{tabular}
\end{footnotesize}
--- 965,975 ----
& im-off & xr-on  & xr-off & gl-on & gl-off \\
\hline \hline
!         over  & 3.809  & 3.870  & 3.850  & 0.109 & 0.107  \\
\hline
!         scale & 16.444 & 85.504 & 86.924 & 0.126 & 0.132  \\
\hline
!         blend & 4.349 & 73.222 & 69.613 & 0.264 & 0.263  \\
\hline
!         blur  & 26.499 & -      & -      & 3.089 & 3.078  \\
\end{tabular}
\end{footnotesize}
***************
*** 979,987 ****
\end{table}

!   \subsubsection{Color fill}

!   This test evaluates color fill performance by drawing solid rectangles.

!   Table~\ref{rendermark2} shows the color fill results.

\begin{table}[h!tbp]
--- 979,987 ----
\end{table}

!   \subsubsection{Color blend}

!   This test evaluates color blend performance by drawing rectangles.

!   Table~\ref{rendermark2} shows the color blend results.

\begin{table}[h!tbp]
***************
*** 993,997 ****
\end{tabular}
\end{footnotesize}
!       \caption{\small\itshape Seconds to complete color fill test
(lower is better)}
\label{rendermark2}
--- 993,997 ----
\end{tabular}
\end{footnotesize}
!       \caption{\small\itshape Seconds to complete color blend test
(lower is better)}
\label{rendermark2}
***************
*** 1022,1028 ****
& im-off & xr-on  & xr-off & gl-on & gl-off \\
\hline \hline
!         tri1  & 2.978  & 66.555 & 63.191 & 0.071 & 0.070  \\
\hline
!         tri2  & -      & 2.078 & 1.950   & 0.055 & 0.074  \\
\end{tabular}
\end{footnotesize}
--- 1022,1028 ----
& im-off & xr-on  & xr-off & gl-on & gl-off \\
\hline \hline
!         tri1  & 2.977  & 66.555 & 63.191 & 0.072 & 0.072  \\
\hline
!         tri2  & -      & 2.078 & 1.950   & 0.030 & 0.030  \\
\end{tabular}
\end{footnotesize}
***************
*** 1044,1048 ****
& im-off & xr-on  & xr-off & gl-on & gl-off \\
\hline \hline
!         grad  & 6.139  & -      & -      & 1.013 & 1.009  \\
\end{tabular}
\end{footnotesize}
--- 1044,1048 ----
& im-off & xr-on  & xr-off & gl-on & gl-off \\
\hline \hline
!         grad  & 6.281  & -      & -      & 1.065 & 1.117  \\
\end{tabular}
\end{footnotesize}
***************
*** 1064,1084 ****
& xr-on & xr-off & gl-on & gl-off \\
\hline \hline
!          over  & 0.114      & 0.182    &   0.123 & 0.107  \\
\hline
!          scale & 93.277     & 85.390   &   0.127 & 0.131  \\
\hline
!          blend & 0.121      & 0.171    &   0.263 & 0.263  \\
\hline
!          blur  & -          & -        &   3.093 & 3.085  \\
\hline
!          rect1 & 0.062      & 0.166    &   0.108 & 0.105  \\
\hline
!          rect2 & 0.064      & 0.215    &   0.107 & 0.108  \\
\hline
!          tri1  & 3.364      & 3.216    &   0.071 & 0.070  \\
\hline
!          tri2  & 1.584      & 1.671    &   0.055 & 0.074  \\
\hline
!          grad  & -          & -        &   1.013 & 1.009  \\
\hline
\end{tabular}
--- 1064,1084 ----
& xr-on & xr-off & gl-on & gl-off \\
\hline \hline
!          over  & 0.113      & 0.185    &   0.109 & 0.107  \\
\hline
!          scale & 84.659     & 86.217   &   0.126 & 0.132  \\
\hline
!          blend & 0.116      & 0.181    &   0.264 & 0.263  \\
\hline
!          blur  & -          & -        &   3.089 & 3.078  \\
\hline
!          rect1 & 0.066      & 0.159    &   0.111 & 0.108  \\
\hline
!          rect2 & 0.070      & 0.228    &   0.113 & 0.118  \\
\hline
!          tri1  & 3.300      & 3.085    &   0.072 & 0.072  \\
\hline
!          tri2  & 1.597      & 1.688    &   0.030 & 0.030  \\
\hline
!          grad  & -          & -        &   1.065 & 1.117  \\
\hline
\end{tabular}
***************
*** 1150,1155 ****
people involved in the development of cairo for being helpful and
encouraging. We would also like to thank our internal supervisor
!   Berit Kvernes along with the staff at the department of Computing Science
!   at Umeå University for supporting us in this project by approving
it for financial funding in terms of study allowances.

--- 1150,1155 ----
people involved in the development of cairo for being helpful and
encouraging. We would also like to thank our internal supervisor
!   Berit Kvernes, along with the staff at the department of Computing Science
!   at Umeå University, for supporting us in this project by approving
it for financial funding in terms of study allowances.