|
![](/i/fill.gif) |
I was writing up something and I came across an interesting "bug". I
donno if its something I'm doing wrong or if its a feature or whatever.
Any input would be appreciated.
I tried to make holes in a wall with difference. Fairly simple, eh?
Well, I tried the 'difference' CSG modifier and I got grainy lines, like
my surface of interactin between the cutting object and the object being
cut were incident on each other. Unun. I tried moveing the
light_source and camera around but it still didn't work. I still got
interfierence lines in the windows.
The following code gave me clean windows, when I made the cutting blocks
transmit everything and 'merge'd it with the object to be cut. What did
I do wrong? I added the code that worked for you to look at... Not
that I mind one over the other (actually, the merge took a *bit* longer
to render) just curious. Anyone?
Thanks.
Saif
PS - Sorry about the condition of the code, I'm not very good at clean
code :(
#declare first_arc=
object{
intersection{
cylinder{ <3, 0, -.6> <3, 0, .6> 5 }
box { <-3, 0, -.7> <0, 5, .7> }
}
}
#declare full_arc=
object{
union{
#object { first_arc }
#object { first_arc rotate y* 180 }
}
}
#declare large_window=
union{
#object { full_arc scale <2, 1, 1> }
box { <-4, -5, -.6> <4, 0, .6> }
pigment { rgbt <1, 1, 1, 1> }
}
#declare narrow_window=
union{
#object { full_arc scale <.5, 1, 1> }
box { <-1, -5, -.6> <1, 0, .6> }
pigment { rgbt <1, 1, 1, 1> }
}
#declare x_1 = -20
#declare x_2 = 20
#declare Wall=
merge{
box { <-25, 0, -.5> <25, 15, .5> pigment { Gray95 } }
object { large_window translate <0, 8, 0> }
#while (x_1 <= -8)
#object { narrow_window translate <x_1, 8, 0> }
#declare x_1 = x_1 + 6
#end
#while (x_2 >= 8)
#object { narrow_window translate <x_2, 8, 0> }
#declare x_2 = x_2 - 6
#end
}
Post a reply to this message
|
![](/i/fill.gif) |