gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/Documentation/Manuscripts/Paper paper.tex


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz/Documentation/Manuscripts/Paper paper.tex
Date: Fri, 29 Nov 2002 07:01:39 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/11/29 07:01:39

Modified files:
        Documentation/Manuscripts/Paper: paper.tex 

Log message:
        More editing

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Documentation/Manuscripts/Paper/paper.tex.diff?tr1=1.96&tr2=1.97&r1=text&r2=text

Patches:
Index: gzz/Documentation/Manuscripts/Paper/paper.tex
diff -u gzz/Documentation/Manuscripts/Paper/paper.tex:1.96 
gzz/Documentation/Manuscripts/Paper/paper.tex:1.97
--- gzz/Documentation/Manuscripts/Paper/paper.tex:1.96  Fri Nov 29 05:50:54 2002
+++ gzz/Documentation/Manuscripts/Paper/paper.tex       Fri Nov 29 07:01:39 2002
@@ -470,6 +470,12 @@
 procedural geometry.
 % XXX 
 
+The main components, corresponding to the extended OpenGL pipelines
+are shown in Fig.~\ref{figpipeline}.
+
+\begin{figure}
+\caption{\label{figpipeline}The components of our hardware-accelerated 
implementation.}
+\end{figure}
 
 %Performance: zoomability, memory, speed
 
@@ -664,11 +670,33 @@
 w.r.t.~the repeating unit. These are also randomly chosen
 from an ad hoc distribution.
 
+\subsection{Texture shading}
+
+On the NV25 architecture,
+the texture accesses can be customized further by the use of texture 
+shading: the texture coordinates in a texture access can be made
+to depend on the result of a previous texture access.
+This can create a large variety of shapes, as seen already
+in Perlin's work\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.
+The textures used for offsetting are the same as the
+basic textures, but loaded as higher precision two-component HILO textures.
+
+
 \subsection{Register combiners}
 
-Register combiners are used for fusing together the values read
-from the basis textures and computing the fragment output color
-using the palette chosen for the background.
+After the texture accesses, we need to convert
+the 3- and 4-vectors obtained from the basis textures and 
+the palette color values into the final fragment color.
+The basic OpenGL texture environment stage is somewhat inadequate
+for this, so we use the NVIDIA register combiners extension
+instead.
+
+% Register combiners are used for fusing together the values read
+% from the basis textures and computing the fragment output color
+% using the palette chosen for the background.
 
 NVIDIA register combiners replace the standard OpenGL 
 texture environment, color sum, and fog application with a
@@ -682,12 +710,14 @@
 
 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 inputs.
-Additionlly, we want to create more variation by varying
-the parameters of the combiner code based on the seed number.
+from the interaction of the basis texture values and
+the floating-point combiner parameters chosen randomly
+from the seed number.
 
-We use dot products of texture values and random constant vectors
+We use dot products of texture values with each other 
+and with random constant vectors
 to extract features from the textures.
 % XXX: either (texture \cdot texture) or (texture \cdot constant)
 Because the numeric range of all register values is $[-1,1]$, 
@@ -697,17 +727,19 @@
 results before clamping to the register range to sharpen
 the gradients and to diminish the area from which the features
 of a single basis texture are extracted.
+For an example of how new shapes are created, see Fig.~\ref{fig-regcomb}.
 
-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
-by squaring the value, scaling up, and then clamping to $1$.
-This produces nice band-like shapes (see Fig.~\ref{fig-regcomb}).
+% 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
+% by squaring the value, scaling up, and then clamping to $1$.
+% This produces nice band-like shapes (see Fig.~\ref{fig-regcomb}).
 
 Finally, the computed real values are used for interpolating between
-the colors chosen for the backround. Typically, because of the scaling
-and clamping, the interpolation values have modes at $0$ and $1$ 
-and a transition band between the modes.
+the colors chosen for the backround. 
+% Typically, because of the scaling
+% and clamping, the interpolation values have modes at $0$ and $1$ 
+% and a transition band between the modes.
 % XXX: the amount of scaling determines the sharpness of the edges
 
 %Because of the unconventional uses, the limitations of the
@@ -761,9 +793,9 @@
 
 Because there are only a few register combiner computation 
 stages on NV10, a single rendering pass cannot
-produce a very full background.
+produce a satisfactory background.
 A simple way of increasing the visual features of the
-backrounds is to use multiple passes. 
+backgrounds is to use multiple passes. 
 
 The register combiners can be used to compute an alpha
 value in the same way as the color interpolation values
@@ -775,33 +807,25 @@
 the same repeating unit(s) to make them blend into a
 single perceived layer.
 
-We use 3 passes on NV10 and 2 passes on NV25. 
-
-\subsection{Texture shading}
-
-On higher end hardware, the diversity of the shapes can be 
-increased with offset textures. 
-Another set of basis textures are randomly chosen for
-offsetting the texture coordinates of the first set of textures.
-To further increase variation, the offset values are multiplied
-by a random matrix.
-The textures used for offsetting are similar to the
-basic textures, but loaded as higher precision two-component HILO textures.
-
-%Offset textures used for creating new shapes.
-
-XXX
+Currently, we use 3 passes on the NV10 and 2 passes on the NV25. 
 
 \section{Example application}
 
 \begin{figure*}
 \centering
-\fbox{\vbox{\vskip 5in}}
+\fbox{\vbox{\vskip 8in}}
 \caption{
 \label{fig-identity-via-textures}
-a) different documents with similar appearance and a focus+context view 
-showing relations,
-b) the same documents and the same view with identity visualized with unique 
backgrounds. If viewing this document on a screen, make sure the your gamma is 
properly set; the text {\bf is} readable if the gamma is correct but the 
textures are too dark if not.
+Two different views of a structure of PDF documents viewed in a focus+context 
view.
+The view shows relationships between specific points in the documents, 
+similar to Nelson's work XXX.
+Each document has an unique background, which makes it easy to see that the 
+fragment of a document on the left side of the bottom view is the document 
fully seen
+in the top view; without unique backgrounds, this would be relatively difficult
+and would require traversing the link.
+If viewing this document on a screen, 
+make sure the your gamma is properly set; the text {\bf is} readable 
+if the gamma is correct but the textures are too dark if not.
 }
 \end{figure*}
 
@@ -837,8 +861,8 @@
 So far, we have concentrated mostly on low-end hardware, and
 have not even tapped the full potential of the NV25 architecture.
 
-We are currently working on implementing
-similar algorithms on ATI hardware, due to their recent release
+We are working on implementing
+similar algorithms on ATI's extensions, due to their recent release
 of a Linux driver.
 The new graphics chips, ATI R300 and NVIDIA NV30 support
 a great deal more of procedural texturing and it will
@@ -846,6 +870,10 @@
 The algorithms can be further developed: simulating lighting and
 a rough surface could produce good results.
 
+ARB fragment program
+
+Usability
+
 % 
 % Each basis texture is repeating, 
 % but by choosing the texture coordinates
@@ -862,6 +890,9 @@
 to use repeating units for non-repeating backgrounds --- but use more than one,
 which are not rationally related.
 
+Nonlinear regcomb leads to aliasing: .... modeling textures mathematically , 
...
+
+2 passes on NV25 too much; should be possible with 1
 
 \section{MPEG Animation}
 [not to be included in final ms.]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]