|
|
Hello!
For some piece of mathematical visualisation I need a "binary" reflection
model: One color for the unlit parts of the object, and one for the lit
parts. This can be achieved fairly easy by specifying an insanely high
diffuse value (100 in my case).
It works alright, but there is a weird problem: Obviously the high diffuse
value somehow disturbs antialising. The edges of the lit areas are not
antialiased at all, not even when using AA-Threshold 0.0. How can that be
possible? According to the POV for Windows help file antialising of a pixel
is performed when the contrast between it and its neighbor pixels is high
enogh (broadly speaking). This is the case between the lit area and the
shadow area. So why are these lines jagged? With a lower diffuse value the
problem dissappears.
Does anybody have an idea why this problem exists? And if there is a way to
solve it?
Greetings,
Florian
Post a reply to this message
|
|
|
|
> Hello!
>
> For some piece of mathematical visualisation I need a "binary" reflection
> model: One color for the unlit parts of the object, and one for the lit
> parts. This can be achieved fairly easy by specifying an insanely high
> diffuse value (100 in my case).
> It works alright, but there is a weird problem: Obviously the high diffuse
> value somehow disturbs antialising. The edges of the lit areas are not
> antialiased at all, not even when using AA-Threshold 0.0. How can that be
> possible?
Normal
According to the POV for Windows help file antialising of a pixel
> is performed when the contrast between it and its neighbor pixels is high
> enogh (broadly speaking). This is the case between the lit area and the
> shadow area. So why are these lines jagged? With a lower diffuse value the
> problem dissappears.
Also normal.
>
> Does anybody have an idea why this problem exists? And if there is a way to
> solve it?
>
> Greetings,
> Florian
>
>
Antialiasing use an average of several subsamples over the area of a pixel. In
POV 3.6.1, there is no cliping of the values before all the treatement for that
pixel is finished. So, the aa have to work with uncliped values. Thus, you
average a some values close to 0 with some aproching 100, then, you clip the
result to the 0 to 1 range.
This appens anytime you have particulary large contrasts.
A possible workaround would be to have:
global_settings{ambient_light rgb<1,0.5,-1>}
And have your finish set with ambient 1 and your light rgb<-1,0.5,2>
This would make the shadowed area orange and the lighted areas greenish blue.
Post a reply to this message
|
|
|
|
I suggest use diffuse 1 brilliance 0 to get the binary lighting effect. This
should provide a perfect on/off light without using extreme brightness
values.
Alternatively to clamp colours before anti-aliasing I use Megapov 1.21 with
global_settings { tone_mapping { function { min(1,x) } } }
--
Tek
http://evilsuperbrain.com
news:465daf16$1@news.povray.org...
> Hello!
>
> For some piece of mathematical visualisation I need a "binary" reflection
> model: One color for the unlit parts of the object, and one for the lit
> parts. This can be achieved fairly easy by specifying an insanely high
> diffuse value (100 in my case).
> It works alright, but there is a weird problem: Obviously the high diffuse
> value somehow disturbs antialising. The edges of the lit areas are not
> antialiased at all, not even when using AA-Threshold 0.0. How can that be
> possible? According to the POV for Windows help file antialising of a
> pixel is performed when the contrast between it and its neighbor pixels is
> high enogh (broadly speaking). This is the case between the lit area and
> the shadow area. So why are these lines jagged? With a lower diffuse value
> the problem dissappears.
>
> Does anybody have an idea why this problem exists? And if there is a way
> to solve it?
>
> Greetings,
> Florian
>
Post a reply to this message
|
|