|
![](/i/fill.gif) |
I have been trying to get a section basically a cube where the top and bottom
surfaces are an egg crate pattern. The inner material is a liquid with a high
ior. I managed to get the pattern to work with isosurfaces getting help
already from this forum. It seems that black dots are appearing though.
Actually, I notice that if I lower the refractive index of my material the
black dots go away, so it definitely is a total internal reflection thing. I
guess the light reflects back and forth so many times it either blows out the
max_trace_level or the adc_bailout. It seems that by turning off adc_bailout
(seting equal to 0 ) and messing with the max_trace_level I can make less black
dots appear, but only if I turn adc_bailout off. However, I have yet to be
able to make max_trace_level equal to 255 with adc_bailout off because it takes
too long to render. Maybe I do not fully understand how adc_bailout works, it
seems if I make it really small I get no change from if I have it not there at
all (the default value). Any ideas?
Also, I have added a patch to the source code from:
http://www.triplespark.net/render/povray/patches/isoacc-patch/
This does not get rid of the dots, but seems to speed up the processing a bit; I
guess it uses a better root finding algorithm in isosurface.cpp then the one
built into povray.
I have attached my code below if anyone wants to check it out.
Thanks,
Mike
#include "colors.inc"
#include "textures.inc"
global_settings{
//ambient_light rgb<1, 1, 1>
//assumed_gamma 1
max_trace_level 20
//photons {
// count 300000
// autostop 0
// jitter .4
// }
//adc_bailout 0.0020
adc_bailout 0
}
camera {
location <-4, 8, 10>
look_at <0, 4, 0>
angle 20
}
#declare MixedRegion =
material {
texture {
pigment {
color rgbf<0.3, 0.5, .5,1>
}
finish {
ambient 0.0
diffuse 0.0
reflection {
0.0, 1.0
fresnel on
}
conserve_energy
specular 0.0
roughness 0.0
}
}
}
#declare F = function { ( y-0 - .1*sin(3*6.2832*x)*sin(3*6.2832*z) ) }
#declare Mixingregion2=
isosurface{
function {abs(F(x,y,z) ) -.5}
max_gradient 2.3
//max_trace 500
all_intersections
accuracy .0001
contained_by { box { <-1.8999, -.6, -1.8999>, <1.8999, .6, 1.8999> } }
material { MixedRegion }
//media{
//intervals 10
//samples 10
//}
interior {
ior 1.5
//media{
//intervals 100
//samples 100
//}
}
photons{
target
refraction on
reflection on
}
//rotate 180*z
translate 3*y
//translate 2*x
}
object{Mixingregion2}
light_source {
<20, 20, 20>
color White
photons{
refraction on
reflection on
}
}
plane{y,0 texture{pigment{White}finish{ambient 0 diffuse 1}}}
Post a reply to this message
|
![](/i/fill.gif) |