|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Is there a way to cheaply tune the amount by which the light brought by
double_illuminate can be added? I'm thinking like an amount of translucency,
without changing anything to transparency nor having to use media.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mr <nomail@nomail> wrote:
> Is there a way to cheaply tune the amount by which the light brought by
> double_illuminate can be added?
Knowing a bit how the povray engine has been implemented, it wouldn't be
a trivial change. Every object would have to internally carry the factor
and some flag which tells whether the normal has been inverted or not.
> I'm thinking like an amount of translucency,
> without changing anything to transparency nor having to use media.
I think clipka is working on a patch for 3.7 which does exactly that,
and even better.
--
- Warp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp <war### [at] tagpovrayorg> wrote:
> Mr <nomail@nomail> wrote:
> > Is there a way to cheaply tune the amount by which the light brought by
> > double_illuminate can be added?
>
> Knowing a bit how the povray engine has been implemented, it wouldn't be
> a trivial change. Every object would have to internally carry the factor
> and some flag which tells whether the normal has been inverted or not.
>
> > I'm thinking like an amount of translucency,
> > without changing anything to transparency nor having to use media.
>
> I think clipka is working on a patch for 3.7 which does exactly that,
> and even better.
>
> --
> - Warp
If you're thinking about the SSLT, it's much heavier in computation. But maybe
he has plans for implementing translucency too... Anyway He's doing a great job
already. And Im sure there is a way by mixing several materials when I'm more
familiar with that.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mr <nomail@nomail> wrote:
> If you're thinking about the SSLT
I'm not.
http://news.povray.org/povray.binaries.images/thread/<web.4a71339a7f799d0174340c00%40news.povray.org>/
--
- Warp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp schrieb:
> Mr <nomail@nomail> wrote:
>> Is there a way to cheaply tune the amount by which the light brought by
>> double_illuminate can be added?
Not yet, but...
> Knowing a bit how the povray engine has been implemented, it wouldn't be
> a trivial change. Every object would have to internally carry the factor
> and some flag which tells whether the normal has been inverted or not.
You're pretty much mistaken this time: It turned out to be a piece of
cake, actually. (Though I didn't extend the existing double_illuminate
mechanism, but rather added a parallel one. Extending double_illuminate
to accept float values would have been not so easy indeed, and would
also have broken scenes where it's used just as a kludge to get rid of
mesh artifacts.)
>> I'm thinking like an amount of translucency,
>> without changing anything to transparency nor having to use media.
>
> I think clipka is working on a patch for 3.7 which does exactly that,
> and even better.
Done already, and it seems to work like a charm. Just waiting for
beta.34 to be released.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mr schrieb:
> And Im sure there is a way by mixing several materials when I'm more familiar with
that.
Probably not. To my knowledge, even POV-Ray gurus tried and failed. The
best approach I've seen so far required adding extra geometry, to create
a "sandwich" of surfaces: A plain-white double-illuminated inner core,
between two colored, filtering outer surfaces; the outer surfaces'
filter value would then be used to tune down the double_illuminate
effect. As you can imagine, this is prohibitively complex for anything
but the most simple geometry. It is also bound to be problematic with
radiosity and photons.
It would probably be possible to achieve the same with layered textures
if the double_illuminate was a property of the texture - but alas! it is
an object property.
... thinking about it, I'm just having another idea right here that
might work: Place two identical copies of the object in a union, at
exactly the same spot - except that you add double_illuminate to one of
them but not the other. POV-Ray should then interpolate between the two
objects, so that you should get a 50% double-illuminate effect. For
other ratios, you'd have to add more copies of the object though.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
> Extending double_illuminate
> to accept float values would have been not so easy indeed, and would
> also have broken scenes where it's used just as a kludge to get rid of
> mesh artifacts.)
Why would it have broken anything? A float parameter can be made
optional, so if it isn't specified a default is used.
And btw, I think that the view that "double_illuminate is used as a kludge
to get rid of mesh artifacts" is a bit simplistic of a view.
The fact is that double illumination (of smooth meshes) existed way before
the 'double_illuminate' keyword was introduced. Smooth meshes were by default
double-illuminated, I assume precisely because it avoided many of the
artifacts. At some point (maybe because people complained about it), they
were changed to be normally-illuminated, which introduced the artifacts.
Some time later the 'double_illuminate' keyword was introduced which could
be used to make smooth meshes double-illuminated again, as they have always
been. (I'm not 100% if 'double_illuminate' was introduced precisely because
of this smooth mesh issue, but it could at least partially be the reason.
I probably read all the related discussion, but I don't remember it anymore.)
I'd even go as far as to say that, in fact, double_illuminate exists
precisely to reduce artifacts in smooth meshes, and any other use is the
"kludge", ie. trying to achieve some illumination effects which are not
physically correct.
Thus the approach you took with your patch is, in fact, the correct one:
Keep 'double_illuminate' as the fix for smooth mesh artifacts, and instead
create a better solution for back illumination.
--
- Warp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp schrieb:
> clipka <ano### [at] anonymousorg> wrote:
>> Extending double_illuminate
>> to accept float values would have been not so easy indeed, and would
>> also have broken scenes where it's used just as a kludge to get rid of
>> mesh artifacts.)
>
> Why would it have broken anything? A float parameter can be made
> optional, so if it isn't specified a default is used.
I soon found out that I also wanted the effect to apply to photons as
well - and radiosity. The latter would have been devastating to any
mesh-artifact-elimination use of double_illuminate in a mult-bounce
radiosity scene, as this would have caused radiosity to carry
illumination through the object's volume.
> And btw, I think that the view that "double_illuminate is used as a kludge
> to get rid of mesh artifacts" is a bit simplistic of a view.
Well, it *is* used in this manner, isn't it? Whether the kludge was
originally applied automatically, or was introduced for a totally
different thing, doesn't change that fact. And I'd guess being the
"official kludge" for getting rid of mesh artifacts, its use in this
role is frequent enough to avoid breaking this use case.
> Thus the approach you took with your patch is, in fact, the correct one:
> Keep 'double_illuminate' as the fix for smooth mesh artifacts, and instead
> create a better solution for back illumination.
I never said anything else :P
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
> Mr schrieb:
> > And Im sure there is a way by mixing several materials when I'm more familiar with
that.
>
> Probably not. To my knowledge, even POV-Ray gurus tried and failed. The
> best approach I've seen so far required adding extra geometry, to create
> a "sandwich" of surfaces: A plain-white double-illuminated inner core,
> between two colored, filtering outer surfaces; the outer surfaces'
> filter value would then be used to tune down the double_illuminate
> effect. As you can imagine, this is prohibitively complex for anything
> but the most simple geometry. It is also bound to be problematic with
> radiosity and photons.
>
> It would probably be possible to achieve the same with layered textures
> if the double_illuminate was a property of the texture - but alas! it is
> an object property.
> ... thinking about it, I'm just having another idea right here that
> might work: Place two identical copies of the object in a union, at
> exactly the same spot - except that you add double_illuminate to one of
> them but not the other. POV-Ray should then interpolate between the two
> objects, so that you should get a 50% double-illuminate effect. For
> other ratios, you'd have to add more copies of the object though.
I get the problem, thanks for warning me and thanks for the CSG idea, it can
probably help in another situation if it works but I won't event try because
what I was asking it for was hair, so already a lot of geometry... I guess such
a solution would saturate the memory of my poor machine, would'nt it?
I can start tweaking the translucency when the next beta is out.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka <ano### [at] anonymousorg> wrote:
> ... thinking about it, I'm just having another idea right here that
> might work: Place two identical copies of the object in a union, at
> exactly the same spot - except that you add double_illuminate to one of
> them but not the other. POV-Ray should then interpolate...
That's downright clever! (I had always assumed that such an 'overlapping
objects' trick would introduce coincident-surface problems--so I never tried
it.) Thanks for the experimental idea.
Ken
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |