POV-Ray : Newsgroups : povray.general : Just musing about a pattern function... : Re: Just musing about a pattern function... Server Time: 17 Jun 2019 13:40:15 GMT
 Re: Just musing about a pattern function...
 From: Alain Date: 12 Mar 2019 14:43:31
```Le 19-03-11 Ã  19:43, Bald Eagle a Ã©critÂ :
> Alain <kua### [at] videotronca> wrote:
>> Le 19-03-10 ÃƒÂ  20:25, Bald Eagle a ÃƒÂ©critÃ‚Â :
>>> So, I was wondering if it were possible to define a pattern that depends on if
>>> the surface of one object is coincident with another.
>>>
>>> object A, Object B, and an overlapping surface.
>>>
>>> I was thinking about it initially from the perspective of ease-of-use in
>>> highlighting imperfections in CSG / math,
>>>
>>> pigment {overlap {_textureA, _textureB, _textureOverlap}}
>>>
>>> but then it occurred to me that if this were possible, then
>>>
>>> pigment {overlap {_textureA, _textureB, _textureB}}
>>>
>>> would take care of a lot of coincident surface problems.
>>>
>>>
>>>
>>> Just brainstorming and wondered if this might spark some ideas.
>>>
>>>
>>
>> The main problem with coincident surfaces is that you can't reliably
>> tell if two surfaces are coincident or not while rendering. On one test,
>> the surface of object A seems to be in front of the surface of object B,
>> then, on the next test, it seems to be behind.
>>
>> The only cases when it don't cause problem is if all surfaces are opaque
>> and share the same texture.
>
> Well, yes.
> But the problem is that POV-Ray is trying to numerically compare the distance of
> two surfaces from the camera, and it doesn't know which surface is _supposed to_
> be in front.
>
> My thought was that if you could specify that - yes, ObjectB is definitely the
> one that's definitely in front,
> by using
> texture {pigment {overlap {_textureA, _textureB, _textureB}}}
> Then the iffy-z-fighting speckled or other weird result would be overridden by
> making that portion of the occluded object automatically the same texture.
>
> I think that trying to implement it in SDL might give rise to people doing
> experiments that may lead to some interesting findings - usually by unexpected
> results or mistaken understanding or other anomalies   ;)
>
> It's also just an interesting thing to do because it forces you to try to get
> Especially when using transmit and/or filter.
>
> It just popped into my head before I even made it out of bed, so I thought I'd
> just bring it up.
>
> I'll probably wind up breaking POV-Ray again.  :D
>
>
>

In that case, having an object attribute specifying that there are
expected coincident surfaces could be the way to go.

union{.... have_coincident on}
union{.... coincident on}

I think that making it an object feature rather than a texture feature
may be better.
```