[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] manuscripts/Paper paper.tex
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] manuscripts/Paper paper.tex |
Date: |
Mon, 31 Mar 2003 09:06:02 -0500 |
CVSROOT: /cvsroot/gzz
Module name: manuscripts
Changes by: Tuomas J. Lukka <address@hidden> 03/03/31 09:06:02
Modified files:
Paper : paper.tex
Log message:
HW accel -section
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/Paper/paper.tex.diff?tr1=1.90&tr2=1.91&r1=text&r2=text
Patches:
Index: manuscripts/Paper/paper.tex
diff -u manuscripts/Paper/paper.tex:1.90 manuscripts/Paper/paper.tex:1.91
--- manuscripts/Paper/paper.tex:1.90 Mon Mar 31 08:44:31 2003
+++ manuscripts/Paper/paper.tex Mon Mar 31 09:06:02 2003
@@ -41,17 +41,10 @@
NO NEED FOR PERFECT RECALL - JUST A CUE
-WHY HW ACCEL NEEDED - PIXELLATION - NO SAVING!
+% WHY HW ACCEL NEEDED - PIXELLATION - NO SAVING!
NO SEMANTIC CORRELATIONS!!!!!!!
-IMAGE: RENDERING MODES, TEXTURE COORDINATES!
-
-SPARSE CODING: A TEXTURE CONTAINING BOTH YELLOW TRIANGLE AND
-RED SQUARE MIXES WITH ONE CONTAINING RED TRIANGLE AND YELLOW SQUARE
-\cite{olson02vstm}
-PREATTENTIVE FEATURES IN FEATURE VECTOR!!!
-
TJL
We present a perceptually designed hardware-accelerated
@@ -962,23 +955,26 @@
\subsection{Basis textures}
The shapes of the final background texture are generated
-entirely from a small set of {\em basis textures}.
+entirely from a small set of static {\em basis textures}.
Even though the basis
textures are RGB textures, they contain no color information:
they are simply treated as 3- or 4-vectors to be used in
various ways to create shapes, and color is added
-by the register combiners.
+by the register combiners using the palette selected as described above.
% In order to avoid shapes or features from the basis textures becoming
% identifiable, the basis textures should be relatively uniform.
-We have obtained good results with a mix of
+We have obtained good results with the basis textures
+in Fig.~\ref{fig-basis}:
+a mix of
small textures with uniformly random texels,
larger textures with noise or turbulence\cite{perlin-noise-intro},
and simple geometric images
-(e.g., checkerboard, see Fig.~\ref{fig-basis}).
+(e.g., checkerboard).
As for the selection of basis textures for each paper,
-the principle of ``saving recognitive power'' applies:
+the principle of limiting the number of different
+features in each texture applies here as well:
we use hyperparameters for each background texture
to control the probabilities of
selecting different basis textures so
@@ -990,14 +986,16 @@
\subsection{Texture coordinates}
-XXX More
-
% Texture coordinates define the mapping of the basis textures
% to paper coordinates.
-The choice of the repeating unit fixes an absolute scale for the paper.
-The repeating unit should be relatively isotropic to avoid
-the degeneration of textures to diagonal lines.
+The choice of the geometry of the
+repeating unit (a parallelogram) fixes an absolute scale for the paper.
+The repeating unit should be fairly isotropic to avoid
+the degeneration of textures to diagonal lines, and
+the units for different textures should be relatively similar in size.
+The repeating unit is chosen
+from a heuristic distribution satisfying these criteria.
% We choose the repeating unit from a heuristic distribution
% created from these criteria.
@@ -1008,35 +1006,51 @@
with the selected repeating unit. For example, a texture can
repeat multiple times inside the repeating unit, or can be skewed
w.r.t.~the repeating unit.
+Again, a heuristic distribution is used which does not skew or scale
+the basis texture too much too often.
% These are also randomly chosen
% from an ad hoc distribution.
\subsection{Texture shading}
-XXX More
+%XXX More
On the NV25 architecture,
the texture accesses can be customized further by the use of texture
shading: the texture coordinates used by a texture unit can be made
to depend on the result of a previous texture unit.
This can be used to create a large variety of shapes\cite{perlin-noise-intro}.
-% So far, we have only used offset textures with random
-% offset matrices, but even they
-% do improve the quality of the output.
+So far, we have only used offset textures with random
+offset matrices, but even they
+do improve the quality of the output.
% The textures used for offsetting are the same as the
% basic textures, but loaded as higher precision two-component HILO textures.
\subsection{Register combiners}
-Because
-the unextended OpenGL texture environment stage is inflexible,
-we use the NVIDIA register combiners extension
+The NVIDIA register combiners extension is used
to combine the
the 3- and 4-vectors obtained from the basis textures
and
the palette colors into the final fragment color.
+Our need for the combiners is rather unconventional:
+we want to lose most of the original shapes of the basis textures
+in order to create new, different shapes
+from the interaction of the basis texture values and
+combiner parameters chosen randomly
+from the seed number.
+For this,
+we use dot products of texture values with each other
+and with random constant vectors, and scale up with
+the register combiner output mappings to sharpen the result
+(see Fig.~\ref{fig-regcomb}).
+The resulting values are used for interpolating between
+the palette colors.
+Because some basis textures have blurrier edges than others,
+the output scalings need to be adjusted depending on the basis
+textures selected.
% Register combiners are used for fusing together the values read
@@ -1053,21 +1067,6 @@
% There is also a small set of simple input and output mappings
% for the registers, such as invert ($1-A$).
-Our need for the combiners is rather unconventional:
-we want to lose most of the original shapes of the basis textures
-(again the ``saving recognitive power'' argument)
-and create new, different shapes
-from the interaction of the basis texture values and
-the floating-point combiner parameters chosen randomly
-from the seed number.
-For this,
-we use dot products of texture values with each other
-and with random constant vectors, and scaling up with
-the register combiner output mappings to sharpen the result
-(see Fig.~\ref{fig-regcomb}).
-The resulting values are used for interpolating between
-the palette colors.
-
% % XXX: either (texture \cdot texture) or (texture \cdot constant)
% Because the numeric range of all register values is $[-1,1]$,
% the complete shape of a basis texture may easily be carried on
@@ -1077,10 +1076,6 @@
% the gradients and to diminish the area from which the features
% of a single basis texture are extracted.
-Because some basis textures have blurrier edges than others,
-the output scalings need to be adjusted depending on the basis
-textures selected.
-
% New shapes can be created by computing polynomials of the real values
% extracted from the basis textures.
% For example, the zero value contour of a real value can be obtained
@@ -1145,17 +1140,17 @@
}
\end{figure}
-\subsection{Multiple passes}
-
-Because there are only two general register combiner
-stages on the NV10 architecture, a single rendering pass cannot
-produce a satisfactory background texture.
-The register combiners can be used to compute a varying alpha
-value and use it for blending over previous passes.
-The same color palette and repeating unit
-are used for all passes.
-
-Currently, we use 3 passes on the NV10 and 2 passes on the NV25.
+% \subsection{Multiple passes}
+%
+% Because there are only two general register combiner
+% stages on the NV10 architecture, a single rendering pass cannot
+% produce a satisfactory background texture.
+% The register combiners can be used to compute a varying alpha
+% value and use it for blending over previous passes.
+% The same color palette and repeating unit
+% are used for all passes.
+%
+% Currently, we use 3 passes on the NV10 and 2 passes on the NV25.
\begin{figure*}
\centering
- [Gzz-commits] manuscripts/Paper paper.tex, (continued)
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex,
Tuomas J. Lukka <=
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31
- [Gzz-commits] manuscripts/Paper paper.tex, Tuomas J. Lukka, 2003/03/31