diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2017-11-25 10:16:54 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2017-11-25 10:16:54 +0100 |
commit | 1b1126bd023a2bb92699773a1867358067dabcb8 (patch) | |
tree | 6fd56d034e5a154c7992e7855d61691cecd043c4 /rspl/gam.c | |
parent | cb5c7cec4aa1946f75dc3d408eb7f1051f3fb3d4 (diff) | |
parent | f6b8e0eae4374f339487a33e3e4fe5462d5816e1 (diff) |
Update upstream source from tag 'upstream/2.0.0'
Update to upstream version '2.0.0'
with Debian dir e866e6e75661017faaa5331becda76021407390b
Diffstat (limited to 'rspl/gam.c')
-rwxr-xr-x[-rw-r--r--] | rspl/gam.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/rspl/gam.c b/rspl/gam.c index 0765e05..2a9a63b 100644..100755 --- a/rspl/gam.c +++ b/rspl/gam.c @@ -21,9 +21,14 @@ /* This probably needs re-writing, since (I think) it doesn't take gamut - self intersection into account. Outline would be: + self intersection into account. The rspl/rec.c code works more + reliably, but doesn't cope with concavities that cross the line + to the focal point. So can this "surface following" code be + adapted to solve this type of problem ? - Have a spactial cache structure that contains list of potentialy + Outline would be: + + Have a spatial 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. @@ -61,6 +66,9 @@ Each intersection adds new nodes, and splits a triangle into about 8 smaller triangles. Trick is to avoid slivers and numerical issues with triangles. + + Alternative would be to not split triangles, but just track + the line of intersection ? */ @@ -72,6 +80,7 @@ Add ink limit support. This be done by breaking a cell into a fixed geometry of smaller simplexes by dividing the cell into two on each axis. + (rspl/rev.c has code for this ??) Need to then add scan that detects areas to prune, that then ties in with rev code to mark such |