diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2015-11-06 05:38:49 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2015-11-06 05:38:49 +0100 |
commit | 9491825ddff7a294d1f49061bae7044e426aeb2e (patch) | |
tree | 06e651099f87140ec534ae47fb8ce1ac6ec7976d /rspl | |
parent | fa756339d4204bff7f2820067f58214d32780d17 (diff) |
Imported Upstream version 1.8.3
Diffstat (limited to 'rspl')
-rwxr-xr-x[-rw-r--r--] | rspl/c1.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/c1df.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/cw1.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/cw3.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/gam.c | 46 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/gam.h | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/mlbs.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/mlbs.h | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/opt.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rev.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rev.h | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/revbench.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rspl.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rspl.h | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rspl1.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rspl1.h | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/rspl_imp.h | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/scat.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/scat2.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/sm1.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/sm2.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/sm3.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/smtmpp.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/smtnd.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/spline.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/stest.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/t2d.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/t2ddf.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/t3d.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/t3ddf.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/tnd.c | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | rspl/trnd.c | 0 |
32 files changed, 46 insertions, 0 deletions
diff --git a/rspl/c1.c b/rspl/c1.c index 31849ee..31849ee 100644..100755 --- a/rspl/c1.c +++ b/rspl/c1.c diff --git a/rspl/c1df.c b/rspl/c1df.c index 4020d7a..4020d7a 100644..100755 --- a/rspl/c1df.c +++ b/rspl/c1df.c diff --git a/rspl/cw1.c b/rspl/cw1.c index 2a026c8..2a026c8 100644..100755 --- a/rspl/cw1.c +++ b/rspl/cw1.c diff --git a/rspl/cw3.c b/rspl/cw3.c index e26cb7a..e26cb7a 100644..100755 --- a/rspl/cw3.c +++ b/rspl/cw3.c diff --git a/rspl/gam.c b/rspl/gam.c index e46780f..0765e05 100644..100755 --- a/rspl/gam.c +++ b/rspl/gam.c @@ -18,6 +18,52 @@ * Latest simplex/linear equation version. */ +/* + + This probably needs re-writing, since (I think) it doesn't take gamut + self intersection into account. Outline would be: + + Have a spactial cache structure that contains list of potentialy + intersecting triangles for any point. Create this incrementally. + Each triangle can be replaced by a list of fragment triangles + sharing the same plane. + + i.e. + + triangle planes + triangles + edges + vertexes + + Initialization: + + Locate extreme vertex + Locate triangle that uses that vertex that is most elevated + in that direction as initial surface. + Intersect that triangle with all other triangles nearby, and + retain the fragment that has that vertex. + List of open edges is initial triangle edges. + Track outward and inward faces of all triangles in open surface. + + Basic loop: + + While edge list is non-empty { + Locate adjacent triangle that is not part of surface that + is most accutely angled to outside face. + + Intersect that triangle with all other triangles using cache structure, + hanging on to all resulting fragments that are part of that edge. + + Add those fragments to the open surface. + + } + + Each intersection adds new nodes, and splits a triangle into + about 8 smaller triangles. Trick is to avoid slivers and + numerical issues with triangles. +*/ + + /* TTBD: Add ouutput curve lookup callback support. diff --git a/rspl/gam.h b/rspl/gam.h index 0892e4d..0892e4d 100644..100755 --- a/rspl/gam.h +++ b/rspl/gam.h diff --git a/rspl/mlbs.c b/rspl/mlbs.c index bbe3865..bbe3865 100644..100755 --- a/rspl/mlbs.c +++ b/rspl/mlbs.c diff --git a/rspl/mlbs.h b/rspl/mlbs.h index 4678cfd..4678cfd 100644..100755 --- a/rspl/mlbs.h +++ b/rspl/mlbs.h diff --git a/rspl/opt.c b/rspl/opt.c index d5a70ce..d5a70ce 100644..100755 --- a/rspl/opt.c +++ b/rspl/opt.c diff --git a/rspl/rev.c b/rspl/rev.c index 1dbf6cc..1dbf6cc 100644..100755 --- a/rspl/rev.c +++ b/rspl/rev.c diff --git a/rspl/rev.h b/rspl/rev.h index b947cbe..b947cbe 100644..100755 --- a/rspl/rev.h +++ b/rspl/rev.h diff --git a/rspl/revbench.c b/rspl/revbench.c index 81e668e..81e668e 100644..100755 --- a/rspl/revbench.c +++ b/rspl/revbench.c diff --git a/rspl/rspl.c b/rspl/rspl.c index 431a7e3..431a7e3 100644..100755 --- a/rspl/rspl.c +++ b/rspl/rspl.c diff --git a/rspl/rspl.h b/rspl/rspl.h index ae0a165..ae0a165 100644..100755 --- a/rspl/rspl.h +++ b/rspl/rspl.h diff --git a/rspl/rspl1.c b/rspl/rspl1.c index dc3588b..dc3588b 100644..100755 --- a/rspl/rspl1.c +++ b/rspl/rspl1.c diff --git a/rspl/rspl1.h b/rspl/rspl1.h index 747abd5..747abd5 100644..100755 --- a/rspl/rspl1.h +++ b/rspl/rspl1.h diff --git a/rspl/rspl_imp.h b/rspl/rspl_imp.h index 0cd8805..0cd8805 100644..100755 --- a/rspl/rspl_imp.h +++ b/rspl/rspl_imp.h diff --git a/rspl/scat.c b/rspl/scat.c index f1535fa..f1535fa 100644..100755 --- a/rspl/scat.c +++ b/rspl/scat.c diff --git a/rspl/scat2.c b/rspl/scat2.c index 7579366..7579366 100644..100755 --- a/rspl/scat2.c +++ b/rspl/scat2.c diff --git a/rspl/sm1.c b/rspl/sm1.c index 5bcf26e..5bcf26e 100644..100755 --- a/rspl/sm1.c +++ b/rspl/sm1.c diff --git a/rspl/sm2.c b/rspl/sm2.c index 84bc8cf..84bc8cf 100644..100755 --- a/rspl/sm2.c +++ b/rspl/sm2.c diff --git a/rspl/sm3.c b/rspl/sm3.c index 9307787..9307787 100644..100755 --- a/rspl/sm3.c +++ b/rspl/sm3.c diff --git a/rspl/smtmpp.c b/rspl/smtmpp.c index 1264d4b..1264d4b 100644..100755 --- a/rspl/smtmpp.c +++ b/rspl/smtmpp.c diff --git a/rspl/smtnd.c b/rspl/smtnd.c index f105429..f105429 100644..100755 --- a/rspl/smtnd.c +++ b/rspl/smtnd.c diff --git a/rspl/spline.c b/rspl/spline.c index dabeb0f..dabeb0f 100644..100755 --- a/rspl/spline.c +++ b/rspl/spline.c diff --git a/rspl/stest.c b/rspl/stest.c index d1cf2da..d1cf2da 100644..100755 --- a/rspl/stest.c +++ b/rspl/stest.c diff --git a/rspl/t2d.c b/rspl/t2d.c index e3f304c..e3f304c 100644..100755 --- a/rspl/t2d.c +++ b/rspl/t2d.c diff --git a/rspl/t2ddf.c b/rspl/t2ddf.c index 115d5f5..115d5f5 100644..100755 --- a/rspl/t2ddf.c +++ b/rspl/t2ddf.c diff --git a/rspl/t3d.c b/rspl/t3d.c index c526669..c526669 100644..100755 --- a/rspl/t3d.c +++ b/rspl/t3d.c diff --git a/rspl/t3ddf.c b/rspl/t3ddf.c index 4a43f0d..4a43f0d 100644..100755 --- a/rspl/t3ddf.c +++ b/rspl/t3ddf.c diff --git a/rspl/tnd.c b/rspl/tnd.c index c6f0911..c6f0911 100644..100755 --- a/rspl/tnd.c +++ b/rspl/tnd.c diff --git a/rspl/trnd.c b/rspl/trnd.c index 2676182..2676182 100644..100755 --- a/rspl/trnd.c +++ b/rspl/trnd.c |