POV-Ray : Newsgroups : povray.general : Just musing about a pattern function... : Re: Just musing about a pattern function... Server Time: 18 Jun 2019 06:42:09 GMT
  Re: Just musing about a pattern function...  
From: Bald Eagle
Date: 11 Mar 2019 23:45:01
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
your head into how POV-Ray processes the ray-object intersection tests.
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

Post a reply to this message

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