|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
The following code produces a sphere with a hole going through the
middle, and the sphere is semi-transparent so the hole can be seen.
The problem I am having is I can't stop the shadow from occurring on
the sphere from the cylinder object.
I know I can make the lightsource shadowless, but then I don't get the
shadow from the sphere on the plane.
The no_shadow keyword does not work for an object when it is inside a
difference command.
Help is appreciated.
DeLeon
*** CODE BELOW ***
# include "colors.inc"
#declare CamLoc = < 0,2,-2.5>;
camera {
location CamLoc
look_at < 0, 0, 0>
}
light_source {CamLoc color White*1.2}
light_source {<50, 50,75> color White*1.7}
plane { <0, 1, 0>, -1
pigment {
checker color Red * 0.5, color Blue * 0.5
}
}
difference {
sphere {<0, 0, 0>,
1
pigment {color Green filter .35}
}
cylinder {<0, -1, 0>,
<0, 1, 0>,
.2
pigment {color Green}
no_shadow
}
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
dt7### [at] bellsouthnet wrote:
> difference {
> sphere {<0, 0, 0>,
> 1
> pigment {color Green filter .35}
> }
> cylinder {<0, -1, 0>,
> <0, 1, 0>,
> .2
> pigment {color Green}
> no_shadow
> }
> }
One solution which comes to mind is to clip the sphere with the
cylinder (with clipped_by) and then adding an shadowless open cylinder
in the same place. Something like this:
union
{ sphere
{ 0, 1
clipped_by { cylinder { -y, y, .2 inverse } }
pigment { rgb y filter .35 }
}
cylinder
{ -y, y, .2 open no_shadow
pigment { rgb y }
}
}
(The problem is that the borders of the cylinder will not match with
the surface of the sphere so you'll have to shorten the cylinder so that
they match.)
--
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}// - Warp -
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Wasn't it dt7### [at] bellsouthnet who wrote:
>The following code produces a sphere with a hole going through the
>middle, and the sphere is semi-transparent so the hole can be seen.
>
>The problem I am having is I can't stop the shadow from occurring on
>the sphere from the cylinder object.
>
>I know I can make the lightsource shadowless, but then I don't get the
>shadow from the sphere on the plane.
>
>The no_shadow keyword does not work for an object when it is inside a
>difference command.
>
>Help is appreciated.
Here's one possibility
Step 1: apply no_shadow to the whole difference
difference {
sphere {<0, 0, 0>,
1
pigment {color Green filter .35}
}
cylinder {<0, -1, 0>,
<0, 1, 0>,
.2
pigment {color Green}
}
no_shadow
}
Step 2: add a no_image sphere in the same place to cast a shadow that
looks just like what the sphere would have cast.
sphere {<0,0,0> 1
pigment {color Green filter .35}
no_image
}
Optional Final tweak: Cut a hole in the invisible sphere. This changes
the amount of light that hits the inside of the hole.
sphere {<0,0,0> 1
clipped_by {cylinder {<0,-2,0><0,1,0>,.2 inverse}}
pigment {color Green filter .35}
no_image
}
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|