gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/Documentation/Manuscripts/Irregu irregu.tex


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/Documentation/Manuscripts/Irregu irregu.tex
Date: Thu, 14 Nov 2002 09:11:16 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/14 09:11:16

Modified files:
        Documentation/Manuscripts/Irregu: irregu.tex 

Log message:
        Some notes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Documentation/Manuscripts/Irregu/irregu.tex.diff?tr1=1.41&tr2=1.42&r1=text&r2=text

Patches:
Index: gzz/Documentation/Manuscripts/Irregu/irregu.tex
diff -u gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.41 
gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.42
--- gzz/Documentation/Manuscripts/Irregu/irregu.tex:1.41        Wed Nov 13 
10:14:30 2002
+++ gzz/Documentation/Manuscripts/Irregu/irregu.tex     Thu Nov 14 09:11:16 2002
@@ -300,6 +300,9 @@
 again using a function $f(p)$ of location $p$, a given point is {\em inside} 
the curve,
 iff $f(p) < |p - n_C(p)|$, where $n_C(p)$ is the nearest point to $p$ on the 
curve $C$.
 
+% XXX: the irregu_gears.jpeg issue should be addressed here, i.e., the shape 
+% of the torn edge should ideally not depend on normal in/out direction.
+
 Although these algorithms seem different and produce different results, there 
is 
 actually a reasonable generalization which yields to a visual explanation.
 Both algorithms can be represented as a point being inside the final curve if
@@ -315,6 +318,10 @@
 parametrized by $\alpha$
 with usually $0 \le \alpha \le 1$.
 
+% \alpha = 1   corresponds to projecting the cutting plane to the paper 
+% \alpha \ne 1 requires stretching the cutting plane before projection
+%              with stretch factor 1 / \alpha (i.e, \infty for \alpha = 0)
+
 A suitable choice for $f$ would be
 a function with noise at different frequencies, but with lower frequencies
 emphasized more, such as turbulence\cite{perlin-noise-intro}.
@@ -428,10 +435,14 @@
 
 Image-space algorithm: ... slow on NV10
 
-\subsubsection{Mutltitexture/access}
+\subsubsection{Mutltitexture}
 
-Similar to image-space algorithms: values of surrounding fragments
+Similar to multi-pass perturbed edge: values of surrounding fragments
 computed in parallel for each fragment.
+With four texture units, it is possible to do the texture accesses
+corresponding to four different perturbed edges for each fragment
+and use GL\_NV\_register\_combiners to determine if any of them
+is inside the torn edge.
 
 Attached edges: texture coordinates do not change along a
 normal of the tearing line.
@@ -442,17 +453,10 @@
 from the tearing line.
 A fragment is inside the outer edge, if its distance from
 any of the adjacent inner edge points is less than the line width.
-This computation can be carried out using GL\_NV\_register\_combiners
-or with an NV30 fragment program.
-Also, with NV30, a single texture unit can be accessed multiple
-times with displaced texture coordinates computed in the program.
-
-For sprinkled edges, one-dimensional displacements of the
-texture coordinates are not enough, because the texture slice
-mapped on the edge is two-dimensional. 
-Most OpenGL hardware do not have enough texture units for this,
-but with NV30, one could compute 
-XXX pixel and four surrounding pixels.
+This computation can be carried out using GL\_NV\_register\_combiners.
+
+With NV30, a single texture unit can be accessed multiple
+times with displaced texture coordinates computed in a fragment program.
 
 \subsubsection{Optimizations}
 




reply via email to

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