[cairo-commit] papers/opengl_freenix04 ChangeLog,1.11,1.12 opengl_freenix04.tex,1.18,1.19
David Reveman
commit at pdx.freedesktop.org
Mon Aug 15 11:12:59 PDT 2005
- Previous message: [cairo-commit] libglc/src glc.h,1.11,1.12 glc_agl_extension.c,1.2,1.3 glc_agl_info.c,1.4,1.5 glc_glx_context.c,1.9,1.10 glc_glx_extension.c,1.8,1.9 glc_glx_format.c,1.14,1.15 glc_glx_info.c,1.9,1.10 glc_glx_pbuffer.c,1.6,1.7 glc_glx_surface.c,1.14,1.15 glc_surface.c,1.15,1.16 glc_texture.c,1.8,1.9 glcint.h,1.16,1.17
- Next message: [cairo-commit] papers/opengl_freenix04 opengl_freenix04.tex,1.19,1.20
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: davidr
Update of /cvs/cairo/papers/opengl_freenix04
In directory pdx:/tmp/cvs-serv11825
Modified Files:
ChangeLog opengl_freenix04.tex
Log Message:
Added text implementation section and convolution filter section
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/papers/opengl_freenix04/ChangeLog,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** a/ChangeLog 17 Feb 2004 16:53:37 -0000 1.11
--- b/ChangeLog 18 Feb 2004 17:01:23 -0000 1.12
***************
*** 1,2 ****
--- 1,7 ----
+ 2004-02-18 <c99drn at cs.umu.se>
+
+ * opengl_freenix04.tex: Added text implementation section
+ and convolution filter section.
+
2004-02-17 <c99drn at cs.umu.se>
Index: opengl_freenix04.tex
===================================================================
RCS file: /cvs/cairo/papers/opengl_freenix04/opengl_freenix04.tex,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** a/opengl_freenix04.tex 17 Feb 2004 23:51:07 -0000 1.18
--- b/opengl_freenix04.tex 18 Feb 2004 17:01:23 -0000 1.19
***************
*** 5,8 ****
--- 5,9 ----
\usepackage{epsfig}
\usepackage{url} % \url{} command with good linebreaks
+ \usepackage{amsmath}
\def\libname{libglc}
***************
*** 447,451 ****
rendering with the OpenGL API. The most common techniques include;
! \begin {itemize}
\item OpenGL's built in polygon smooth hint
\item Multipass using accumulation buffering
--- 448,452 ----
rendering with the OpenGL API. The most common techniques include;
! \begin{itemize}
\item OpenGL's built in polygon smooth hint
\item Multipass using accumulation buffering
***************
*** 453,457 ****
\item Full-scene anti-aliasing using software super-sampling
\item Full-scene anti-aliasing using hardware assist
! \end {itemize}
All these anti-aliased drawing techniques are approximations. Each
--- 454,458 ----
\item Full-scene anti-aliasing using software super-sampling
\item Full-scene anti-aliasing using hardware assist
! \end{itemize}
All these anti-aliased drawing techniques are approximations. Each
***************
*** 520,527 ****
--- 521,602 ----
\subsection{Text Rendering}
+ Current versions of \libname{} has no built in text support.
+ Glyph rasterization and glyph management should be handled by the
+ application or a higher level library. For efficient text rendering,
+ glyph sets with offscreen surfaces containing alpha masks should be
+ used. Benchmark tests have proven that performance decrement from
+ having the glyph management outside \libname{} are insignificant.
+
+ With the latest hardware \libname{} renders text at around 50000
+ glyphs/sec.
+
+ To increase text rendering performance multiple glyphs can be
+ composited in one OpenGL operation using a fragment program.
+ Performance could be increased by the maximum number of texture
+ units supported by hardware. This requires some sort of built in
+ text rendering support in \libname.
+
\subsection{Convolution Filters}
+ Convolutions are used to perform many common image processing operations
+ including sharpening, blurring, noise reduction, embossing, and
+ edge enhancement.
+
+ A convolution is a mathematical function that replaces each pixel by a
+ weighted sum of its neighbors. The matrix defining the neighborhood of
+ the pixel also specifies the weight assigned to each neighbor. This
+ matrix is called the convolution kernel.
+
+ \libname{} supports user defined 3x3 convolution kernels. If a
+ convolution kernel has been set for a surface, the convolution filter
+ will be applied when the surface is used as a source in a compositing
+ operation without modifying the original source surface.
+
+ \edannote{Convolution filter support is actually under development and
+ not yet a part of \libname.}
+
+ Convolution filtering is implemented using fragment programs.
+
+ \subsubsection{Useful Convolution kernels}
+
+ \begin{table}[htbp]
+ \begin{tabular}{l l}
+ Gaussian Blur Filter: &
+ \begin{math}
+ \begin{bmatrix}
+ 0& 1& 0\\
+ 1& 4& 1\\
+ 0& 1& 0
+ \end{bmatrix}
+ \end{math}
+ \\\vspace{5pt} & \vspace{5pt}\\
+ High Pass (HP) Filter: &
+ \begin{math}
+ \begin{bmatrix}
+ 0& -1& 0\\
+ -1& 5& -1\\
+ 0& -1& 0
+ \end{bmatrix}
+ \end{math}
+ \\\vspace{5pt} & \vspace{5pt}\\
+ Emboss Filter: &
+ \begin{math}
+ \begin{bmatrix}
+ 1& 0& 0\\
+ 0& 0& 0\\
+ 0& 0& -1
+ \end{bmatrix}
+ \end{math}
+ \end{tabular}
+ \end{table}
+
\subsection{Gradients}
+ Gradients can be created through drawing of direct polygons with
+ different vertex colors.
+
+ Future version of the library might include support for implicit
+ gradient source surfaces, implemented using fragment programs.
+
\subsection{Still Under Construction}
***************
*** 531,535 ****
\section{Results and Conclusion}
! \edannote {To be updated}
Right now the library hasn't really been tested that much in real
--- 606,610 ----
\section{Results and Conclusion}
! \edannote{To be updated}
Right now the library hasn't really been tested that much in real
- Previous message: [cairo-commit] libglc/src glc.h,1.11,1.12 glc_agl_extension.c,1.2,1.3 glc_agl_info.c,1.4,1.5 glc_glx_context.c,1.9,1.10 glc_glx_extension.c,1.8,1.9 glc_glx_format.c,1.14,1.15 glc_glx_info.c,1.9,1.10 glc_glx_pbuffer.c,1.6,1.7 glc_glx_surface.c,1.14,1.15 glc_surface.c,1.15,1.16 glc_texture.c,1.8,1.9 glcint.h,1.16,1.17
- Next message: [cairo-commit] papers/opengl_freenix04 opengl_freenix04.tex,1.19,1.20
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the cairo-commit
mailing list