|
![](/i/fill.gif) |
Christian Froeschlin <chr### [at] chrfr de> wrote:
> Chaanakya wrote:
>
> > No, it's when I use almost the exact same code you gave me. All I did was
> > declare a new variable N (number of shells) and set it equal to 50. If I set it
> > to 10, it's perfectly fine.
>
> I tried with 3.6 and 3.7 using I < 50 (and D = 0.02*I) but did not see
> any problem. Please post the exact scene and render settings used.
I think the problem is there only if I do not use antialiasing. Anyway, here's
the code:
#version 3.6;
#include "colors.inc"
global_settings {
assumed_gamma 1.0
ambient_light White
max_trace_level 256
}
camera {
location <0,0,4>
look_at <0,0,0>
}
light_source {
<100,100,0>
color White
}
plane {
y, -10
pigment { hexagon Green, White, Blue }
}
// box {
// -0.5, 0.5
// pigment { checker Red, Blue }
// }
#declare base = difference
{
cylinder { <-1,0,0>,<1,0,0>,1.00003 }
cylinder { <-1.00003,0,0>,<1.00003,0,0>,1 }
// center desired target part on origin
translate -1.25*z
}
#declare curved = union
{
#declare I = 1;
#declare N = 10;
#declare my_ior = -2.3;
#declare my_ior_increment = (-1 - -2.3)/(N);
#while (I < N)
#declare D = (1/N)*I;
intersection
{
object {base}
difference
{
box {<-D,-D,-0.5>, <D,D,0.5>}
box {<-D+0.0999,-D+0.0999,-0.6>, <D-0.0999,D-0.0999,0.6>}
}
pigment { color <2*D,0,0> }
// pigment { transmit 1 }
// finish {
// ambient 0
// diffuse 0
// reflection {
// 1
// fresnel on
// }
// specular 0
// roughness 0.001
// }
// interior {
// ior my_ior
// }
rotate <0,0,90>
translate <0,0,2>
}
#declare I = I + 1;
#declare my_ior = my_ior + my_ior_increment;
#end
}
object {curved}
Without antialiasing, this produces random little 'holes'. However, I think
that with antialiasing, it should be fine.
Thanks again for all your help!
- Chaanakya
Post a reply to this message
|
![](/i/fill.gif) |