POV-Ray : Newsgroups : povray.beta-test : merge working like union Server Time: 16 Dec 2017 03:08:21 GMT
  merge working like union (Message 1 to 7 of 7)  
From: Slime
Subject: merge working like union
Date: 19 Apr 2005 01:17:47
Message: <42645c3b@news.povray.org>
It seems that the merge{} structure doesn't elliminate internal surfaces as
it should; see this scene:

camera {
 location -10*z
 look_at z
}
merge {
 sphere {x,2}
 sphere {-x,2}
 pigment {rgbt .9}
 finish {ambient 1}
}

Manually constructing the merge doesn't work either:

intersection {
 sphere {x,2 inverse}
 sphere {-x,2 inverse}
 pigment {rgbt .9}
 finish {ambient 1}
 inverse
}

Although if you remove the final 'inverse,' you do get the inverse of the
result you want.

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: merge working like union
Date: 19 Apr 2005 17:47:51
Message: <42654447@news.povray.org>
Slime wrote:
> It seems that the merge{} structure doesn't elliminate internal surfaces as
> it should; see this scene:

Indeed, it looks like inner intersections are not properly eliminated 
somewhere.  We are working to fix this in the next beta (if possible).

> Manually constructing the merge doesn't work either:

This is not surprising because internally both your "manual" and your 
"automatic" approach produce the exact same result.  That is, and "inverse" 
of CSG operation (depending on type) is equal directly specifying the other 
CSG operation.

	Thorsten


Post a reply to this message

From: Slime
Subject: Re: merge working like union
Date: 19 Apr 2005 17:53:47
Message: <426545ab$1@news.povray.org>
> > Manually constructing the merge doesn't work either:
>
> This is not surprising because internally both your "manual" and your
> "automatic" approach produce the exact same result.

Yeah... the last time I looked at the source code I thought I saw some
merge-specific code in there, so I figured there might be some optimization
going on and they weren't exactly the same internally.

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: merge working like union
Date: 19 Apr 2005 18:16:01
Message: <42654ae1$1@news.povray.org>
Slime wrote:
> Yeah... the last time I looked at the source code I thought I saw some
> merge-specific code in there, so I figured there might be some optimization
> going on and they weren't exactly the same internally.

Well,one thing that was noticed while cleaning up plenty of CSG code (it was 
very obfuscated) was that many "optimisations" were just workaround that 
worked around workarounds of things that were actual design deficiencies. 
So all those were cleaned out, which resulted in several new bugs (which was 
not unexpected) and also exposed some other design problems the in the way 
CSG objects are created and implemented.

	Thorsten


Post a reply to this message

From: Slime
Subject: Re: merge working like union
Date: 19 Apr 2005 20:06:46
Message: <426564d6$1@news.povray.org>
> was that many "optimisations" were just workaround that
> worked around workarounds of things that were actual design deficiencies.

Haha =)

All this changing of the source code seems like a pretty big step towards
4.0. I'm wondering if it was intended that way, or if all this work will
still be scrapped in favor of changing the license later on? Has anything
been moved to C++ yet?

I'm just curious. If you don't want to release this information to the
"public" yet, that's fine.

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: merge working like union
Date: 19 Apr 2005 22:02:39
Message: <42657fff$1@news.povray.org>
Slime wrote:
> or if all this work will
> still be scrapped in favor of changing the license later on?

In order to change the license a lot of code will have to be scrapped, but a 
lot of code has already been scrapped.

> Has anything been moved to C++ yet?

That process started with POV-Ray 3.5 already.

> I'm just curious. If you don't want to release this information to the
> "public" yet, that's fine.

Not more than I said, and I would urge everyone to not jump to any 
conclusions or drill further on the subject.  As usual, once the final 
release is done, the code will be released (shortly after the binaries).

	Thorsten


Post a reply to this message

From: Chris Cason
Subject: Re: merge working like union
Date: 30 Apr 2005 14:25:55
Message: <42739573$1@news.povray.org>
Slime wrote:
> It seems that the merge{} structure doesn't elliminate internal surfaces as
> it should; see this scene:

fixed, thanks.

-- Chris


Post a reply to this message

Copyright 2003-2008 Persistence of Vision Raytracer Pty. Ltd.