![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi
I'm getting strange black reflections on shiny balls.I'm usingt mlpov 0.8
with hdri. Anybody has an idea what is causing this?
The balls consits of two parts an inner ball with the following texture
#declare lightyellowfinball = finish { ambient 0 diffuse .0 reflection
{ <2.3,2.3,1>*1.1*0.9,<0.5,0.5,0.5>*0.9 } }
around this is a second ball slightly thicker
with the following texture map
#declare ttextur= texture { pigment {rgbt <1,1,1,1>} normal {bumps 1 scale
.01}};
#if (strcmp(texturepic,"")!=0)
sphere{
0,1+0.001
texture { uv_mapping
image_pattern { gif texturepic }
texture_map {
[0 uv_mapping ttextur]
[1 uv_mapping textur scale 1/mapscale]
}
scale mapscale
translate <0,1.02*mapscale,0>
}
rotate <0,15,0>
translate <0,1,0>
}
this seems to work fine for the balls themselves, but the transparent part
of the reflections go black... When i render the same pic without the second
ball the reflections don't go black
Post a reply to this message
Attachments:
Download 'HDRItest3.jpg' (70 KB)
Preview of image 'HDRItest3.jpg'
![HDRItest3.jpg](/povray.binaries.images/attachment/%3C45bb6e75%40news.povray.org%3E/HDRItest3.jpg?ttop=443866&toff=4000&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I would guess you're hitting the max trace limit. Try adding this:
global_settings {max_trace_level 10}
(IIRC the default is 5. Check the documentation...)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
yep that seems to work.
I don't really get why the trace level needs to increase when there is a
transparent layer around the shiny finish,but anyhow problem is solved now.
"Orchid XP v3" <voi### [at] dev null> wrote in message
news:45bb6f64$1@news.povray.org...
>I would guess you're hitting the max trace limit. Try adding this:
>
> global_settings {max_trace_level 10}
>
> (IIRC the default is 5. Check the documentation...)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Johan Feyaerts" <joh### [at] nospam hotmail com> wrote in message
news:45bb72b8@news.povray.org...
> yep that seems to work.
> I don't really get why the trace level needs to increase when there is a
> transparent layer around the shiny finish,but anyhow problem is solved
now.
Max trace is the amount of objects that the light ray is allowed to
reflect/pass through before it returns the colour as black. With you putting
a transparent layer around each ball, you've doubled the number of
interactions (once for the transparent layer, once for the reflection)
I've got a scene that uses trees with alpha-mapped transparency and water
and because of those two, I need a max trace of about 90. If I remove the
trees, it's more like 10. If I remove the water, it's somewhere around 40.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thanks, now I understand. Didn't know that a transparent layer also
increased the # of objects reflected passed.
"Gail Shaw" <initialsurname@sentech sa dot com> wrote in message
news:45bb779a@news.povray.org...
>
> "Johan Feyaerts" <joh### [at] nospam hotmail com> wrote in message
> news:45bb72b8@news.povray.org...
>> yep that seems to work.
>> I don't really get why the trace level needs to increase when there is a
>> transparent layer around the shiny finish,but anyhow problem is solved
> now.
>
> Max trace is the amount of objects that the light ray is allowed to
> reflect/pass through before it returns the colour as black. With you
> putting
> a transparent layer around each ball, you've doubled the number of
> interactions (once for the transparent layer, once for the reflection)
>
> I've got a scene that uses trees with alpha-mapped transparency and water
> and because of those two, I need a max trace of about 90. If I remove the
> trees, it's more like 10. If I remove the water, it's somewhere around 40.
>
>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Johan Feyaerts nous apporta ses lumieres en ce 27-01-2007 10:41:
> yep that seems to work.
> I don't really get why the trace level needs to increase when there is a
> transparent layer around the shiny finish,but anyhow problem is solved now.
> "Orchid XP v3" <voi### [at] dev null> wrote in message
> news:45bb6f64$1@news.povray.org...
>> I would guess you're hitting the max trace limit. Try adding this:
>> global_settings {max_trace_level 10}
>> (IIRC the default is 5. Check the documentation...)
Each time you reflect on a sphere, the trace level goes up by 3: 1 getting into
the transparent outer shell, 1 relecting on the iner reflective part, and 1 more
geting OUT of the transparent shell.
If the reflection hit 2 balls, it register 6 levels, 9 if it hits 3 balls. Add
one to reatch the background or any surrounding object.
So, for one ball, you need a Max_trace_level of at least 4. For 2, you need at
least 7, and 10 if you hit 3.
In your case, I'd go up to arount 15 or 17. For that scene, I'd go up to the max
of 255 and set adc_bailout to 1/128 or even as large as 1/64.
Note that there are many more max_trace_level related black spots than those you
spotted. I can find at least 8 more, and I probably missed some.
--
Alain
-------------------------------------------------
EVERYTHING HAS A GENDER
You may not know this but many nonliving things have a gender...
An Hourglass is Female, because over time, the weight shifts to the bottom.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I changed the settings to
global_settings {
radiosity {
pretrace_start 0.08 // start pretrace at this size
pretrace_end 0.04 // end pretrace at this size
count 60 // higher -> higher quality (1..1600) [35]
nearest_count 5 // higher -> higher quality (1..10) [5]
error_bound 1.8 // higher -> smoother, less accurate [1.8]
recursion_limit 5 // how much interreflections are
calculated (1..5+) [3]
low_error_factor .5 // reduce error_bound during last pretrace
step
gray_threshold 0.0 // increase for weakening colors (0..1)
[0]
minimum_reuse 0.015 // reuse of old radiosity samples [0.015]
brightness 1 // brightness of radiosity effects (0..1)
[1]
// adc_bailout 0.01/2
adc_bailout 1/64
normal on // take surface normals into account [off]
}
max_trace_level 26
This seems satisfactory to me, most disturbing black spots seem to be gone
now.
I plan to do an animation with this scene (hopefully ready by christmas
2007), so I guess I'll have to reduce the trace level to something like 17
make it faster
Thanks for the advice.
> Each time you reflect on a sphere, the trace level goes up by 3: 1 getting
> into
> the transparent outer shell, 1 relecting on the iner reflective part, and
> 1 more
> geting OUT of the transparent shell.
> If the reflection hit 2 balls, it register 6 levels, 9 if it hits 3 balls.
> Add
> one to reatch the background or any surrounding object.
> So, for one ball, you need a Max_trace_level of at least 4. For 2, you
> need at
> least 7, and 10 if you hit 3.
> In your case, I'd go up to arount 15 or 17. For that scene, I'd go up to
> the max
> of 255 and set adc_bailout to 1/128 or even as large as 1/64.
> Note that there are many more max_trace_level related black spots than
> those you
> spotted. I can find at least 8 more, and I probably missed some.
Post a reply to this message
Attachments:
Download 'HDRItest3.jpg' (148 KB)
Preview of image 'HDRItest3.jpg'
![HDRItest3.jpg](/povray.binaries.images/attachment/%3C45bbd413%40news.povray.org%3E/HDRItest3.jpg?ttop=443866&toff=4000&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Johan Feyaerts wrote:
> ...
> around this is a second ball slightly thicker
> with the following texture map
> ...
You should be able to get rid of the outer sphere by using layered
textures: http://povray.org/documentation/view/3.6.1/356/
This should render a bit faster and work without increasing the
max_trace_level.
HTH,
Florian
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I think I tried that already but pov protested that image maps could not be
combined with texture maps. Currently I only use one of both at the same
time but I may combine them when I map the metallic image and a picture on
the same ball in the macro.
I'm currently just fooling around with textures, image maps, alfa channels,
finishes , hdri etc. to learn how to use these things. I'll probably have to
rewrite the macro for more efficiency when I try to do an animation, so
thanks for the tip.
"Florian Brucker" <tor### [at] torfbold com> wrote in message
news:45bbd81d$1@news.povray.org...
> Johan Feyaerts wrote:
>> ...
>> around this is a second ball slightly thicker
>> with the following texture map
>> ...
>
> You should be able to get rid of the outer sphere by using layered
> textures: http://povray.org/documentation/view/3.6.1/356/
> This should render a bit faster and work without increasing the
> max_trace_level.
>
> HTH,
> Florian
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Johan Feyaerts wrote:
> I think I tried that already but pov protested that image maps could not be
> combined with texture maps.
An image_map is a pigment type, which is part of a texture. So you
shouldn't try to combine the two.
Instead, declare the image map as the pigment of a complete texture, and
layer that with another complete texture.
...Chambers
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |