POV-Ray : Newsgroups : povray.text.scene-files : edge_pigment02.inc (a proximity pattern) Server Time
8 Oct 2026 23:12:52 EDT (-0400)
  edge_pigment02.inc (a proximity pattern) (Message 1 to 14 of 14)  
From: stbenge
Subject: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 03:50:57
Message: <4a924661@news.povray.org>
The promise of having a shorter render time by using my fast proximity 
pattern macros was, in a sense, a sham. They might render faster, but 
the parsing is... painfully slow.

Here is a pattern that will parse more quickly. It might be a little 
slower to render, but consider the trade-off: by increasing the render 
time a small amount you can save time parsing. But more importantly you 
gain a level of detail you can only achieve with object patterns.

And of course you can never use this with meshes. That is, not until 
somebody figures out how to convince POV into turning a mesh into a 
bona-fide object pattern...

Sam


Post a reply to this message


Attachments:
Download 'edge_pigment02.inc.txt' (9 KB)

From: clipka
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 04:00:30
Message: <4a92489e$1@news.povray.org>
stbenge schrieb:
> And of course you can never use this with meshes. That is, not until 
> somebody figures out how to convince POV into turning a mesh into a 
> bona-fide object pattern...

You mean, like adding an "inside_vector" statement to the mesh? :-P


Post a reply to this message

From: stbenge
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 04:57:57
Message: <4a925615@news.povray.org>
clipka wrote:
> stbenge schrieb:
>> And of course you can never use this with meshes. That is, not until 
>> somebody figures out how to convince POV into turning a mesh into a 
>> bona-fide object pattern...
> 
> You mean, like adding an "inside_vector" statement to the mesh? :-P

Have you /actually/ gotten that to work?


Post a reply to this message

From: stbenge
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 05:04:22
Message: <4a925796$1@news.povray.org>
stbenge wrote:
> clipka wrote:
>> stbenge schrieb:
>>> And of course you can never use this with meshes. That is, not until 
>>> somebody figures out how to convince POV into turning a mesh into a 
>>> bona-fide object pattern...
>>
>> You mean, like adding an "inside_vector" statement to the mesh? :-P
> 
> Have you /actually/ gotten that to work?

Oh crap, /I/ just got it to work! When did this start being possible?? 
Oh cool :)


Post a reply to this message

From: clipka
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 09:06:57
Message: <4a929071@news.povray.org>
stbenge schrieb:
>> Have you /actually/ gotten that to work?
> 
> Oh crap, /I/ just got it to work! When did this start being possible?? 
> Oh cool :)

Phew - I just was about to confess that no, I never actually tested it 
with the inside() function ;-)

(But I'd have been surprised if the SDL inside() function would used any 
other mechanism than the very same inside test that's used in CSG, which 
I knew works fine with inside_vector.)


Post a reply to this message

From: Reactor
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 13:50:00
Message: <web.4a92d28499d0b70cffeb02cf0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> stbenge schrieb:
> >> Have you /actually/ gotten that to work?
> >
> > Oh crap, /I/ just got it to work! When did this start being possible??
> > Oh cool :)
>
> Phew - I just was about to confess that no, I never actually tested it
> with the inside() function ;-)
>
> (But I'd have been surprised if the SDL inside() function would used any
> other mechanism than the very same inside test that's used in CSG, which
> I knew works fine with inside_vector.)

Which kind of makes me wonder why inside_vector doesn't have a default value.
It seems like the direction rarely matters that much, but if you forget to
specify it...

-Reactor


Post a reply to this message

From: Jim Charter
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 15:44:52
Message: <4a92edb4$1@news.povray.org>
stbenge wrote:
> clipka wrote:
> 
>> stbenge schrieb:
>>
>>> And of course you can never use this with meshes. That is, not until 
>>> somebody figures out how to convince POV into turning a mesh into a 
>>> bona-fide object pattern...
>>
>>
>> You mean, like adding an "inside_vector" statement to the mesh? :-P
> 
> 
> Have you /actually/ gotten that to work?

http://tinyurl.com/kvww3t


Post a reply to this message

From: Warp
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 16:05:41
Message: <4a92f295@news.povray.org>
Reactor <rea### [at] hotmailcom> wrote:
> Which kind of makes me wonder why inside_vector doesn't have a default value.
> It seems like the direction rarely matters that much, but if you forget to
> specify it...

  My guess is that specifying inside_vector makes the rendering of the
mesh slower in some situations (probably eg. when there's media or fog
around), which is why it's turned off by default.

-- 
                                                          - Warp


Post a reply to this message

From: stbenge
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 17:15:22
Message: <4a9302ea@news.povray.org>
Jim Charter wrote:
> stbenge wrote:
>> clipka wrote:
>>> You mean, like adding an "inside_vector" statement to the mesh? :-P
>>
>> Have you /actually/ gotten that to work?
> 
> http://tinyurl.com/kvww3t

Awesome image! I'm guessing that beautiful chalice is a mesh?

I have tried making meshes into object patterns in the past, but without 
success. Even after defining an inside_vector, I received errors.


Post a reply to this message

From: Jim Charter
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 18:08:18
Message: <4a930f52$1@news.povray.org>
stbenge wrote:
> Jim Charter wrote:
> 
>> stbenge wrote:
>>
>>> clipka wrote:
>>>
>>>> You mean, like adding an "inside_vector" statement to the mesh? :-P
>>>
>>>
>>> Have you /actually/ gotten that to work?
>>
>>
>> http://tinyurl.com/kvww3t
> 
> 
> Awesome image! I'm guessing that beautiful chalice is a mesh?
> 
> I have tried making meshes into object patterns in the past, but without 
> success. Even after defining an inside_vector, I received errors.

I don't remember anymore, it's so long ago. I do remember that I got the 
idea from you, when you rounded the corners off a cube by jittering it 
inside a intersection block, I believe.


Post a reply to this message

From: clipka
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 19:29:56
Message: <4a932274$1@news.povray.org>
Reactor schrieb:
> Which kind of makes me wonder why inside_vector doesn't have a default value.
> It seems like the direction rarely matters that much, but if you forget to
> specify it...

Backward compat I suppose: Until the introduction of inside_vector, I 
assume intersecting a mesh with a solid would give you the same result 
as clipping the mesh by that object, and some scenes might have relied 
on this effect; defaulting to a proper inside_vector would obviously 
break such scenes.

Then again, I guess it would be not much of a problem to default to 
inside_vector y (for instance) unless a #version statement is used to 
request compat with 3.6 or lower. And a warning could be given even 
then, suggesting to use clipped_by instead.


Post a reply to this message

From: clipka
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 24 Aug 2009 19:35:24
Message: <4a9323bc@news.povray.org>
Warp schrieb:
>   My guess is that specifying inside_vector makes the rendering of the
> mesh slower in some situations (probably eg. when there's media or fog
> around), which is why it's turned off by default.

I don't think so. Media would only be computed inside a mesh if the 
"hollow" keyword is also used anyway.

The only place where it should make a difference is when used with CSG 
intersection: In that case, performing proper inside tests instead of 
just returning "not inside" would be faster of course.

Anyway, the speed issue could be mitigated by allowing to explicitly 
specify "inside_vector <0,0,0>" (or, being equivalent yet more talktive, 
"inside_vector no") to disable inside tests.


Post a reply to this message

From: Warp
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 25 Aug 2009 11:01:32
Message: <4a93fccc@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Warp schrieb:
> >   My guess is that specifying inside_vector makes the rendering of the
> > mesh slower in some situations (probably eg. when there's media or fog
> > around), which is why it's turned off by default.

> I don't think so. Media would only be computed inside a mesh if the 
> "hollow" keyword is also used anyway.

  Except that meshes have no inside and thus no insideness is computed for
them. (Except if inside_vector is specified, of course.)

> Anyway, the speed issue could be mitigated by allowing to explicitly 
> specify "inside_vector <0,0,0>" (or, being equivalent yet more talktive, 
> "inside_vector no") to disable inside tests.

  That might break existing scenes, especially those which use *open* meshes
and assume that meshes have no inside.

-- 
                                                          - Warp


Post a reply to this message

From: clipka
Subject: Re: edge_pigment02.inc (a proximity pattern)
Date: 25 Aug 2009 20:03:06
Message: <4a947bba$1@news.povray.org>
Warp schrieb:
>>>   My guess is that specifying inside_vector makes the rendering of the
>>> mesh slower in some situations (probably eg. when there's media or fog
>>> around), which is why it's turned off by default.
> 
>> I don't think so. Media would only be computed inside a mesh if the 
>> "hollow" keyword is also used anyway.
> 
>   Except that meshes have no inside and thus no insideness is computed for
> them. (Except if inside_vector is specified, of course.)

... which is exactly the difference we're discussing here: Whether 
having meshes to default to a valid inside_vector would make a difference.

>> Anyway, the speed issue could be mitigated by allowing to explicitly 
>> specify "inside_vector <0,0,0>" (or, being equivalent yet more talktive, 
>> "inside_vector no") to disable inside tests.
> 
>   That might break existing scenes, especially those which use *open* meshes
> and assume that meshes have no inside.

That's what I already mentioned in the first place, and commented on 
possible solutions, in case you didn't notice. Here I just focused on 
the speed issues.


Post a reply to this message

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