//--------------------------------------------------
#declare Walltex =
texture{pigment{color White}
finish {ambient 0.15 diffuse 0.85 phong 1}}
#declare Rooftex =
texture{pigment{color rgb<0.4,0,0>}
finish {ambient 0.15 diffuse 0.85 phong 1}}
// wall in the moat ----------------------------------
#declare G_Wall =
box {<-15.3,-6,-0.3 >,< 15.3, 0.2,0.3> rotate<-5,0,0>
texture{Walltex}}
// drawing 4 walls in the moat -----------------------
object{G_Wall rotate<0, 0,0>translate< 0,-0.25,-15>}
object{G_Wall rotate<0,180,0>translate< 0,-0.25, 15>}
object{G_Wall rotate<0, 90,0>translate<-15,-0.25, 0>}
object{G_Wall rotate<0,-90,0>translate< 15,-0.25, 0>}
//----------------------- Tower --------------------
#declare TR = 2.0; //TowerRadius
#declare TH = 5.0; //TowerHeight
//--------------------------------------------------
#declare Turm = union{ //defines object "Tower"
cone{<0,-TH,0>,TR+1.0,<0,0,0>,TR texture{Walltex}}
cylinder {<0,0,0>,<0,TH,0>,TR texture{Walltex}}
cylinder {<0,0.0,0>,<0,0.1,0>,2.05 texture{Walltex}}
cylinder {<0,2.5,0>,<0,2.6,0>,2.05 texture{Walltex}}
cone{<0,0,0>,TR+0.5,<0,TR+0.5,0>,0
translate<0,TH,0> texture{Rooftex}}
cone{<0,0,0>,TR -0.2,<0,2*TR+0.5,0>,0
translate<0,TH,0> texture{Rooftex}}
}// ------------ end of tower - Ende Turm -----------
//----------------- the walls - die Mauern ----------
#declare Wall = union{
box {<-4,0,-0.3>,< 4,3.5,0.3> }
box {<-4.5,-6,-0.3 >,< 4.5,0,0.3> rotate<-5,0,0>}
texture{Walltex}}
// --------------------- the castle -----------------
// --------------- drawing "Tower" at the 4 angles: -
object{ Tower translate<-6,0,-6>}
object{ Tower translate< 6,0,-6>}
object{ Tower translate< 6,0, 6>}
object{ Tower translate<-6,0, 6>}
// ---------------- drawing 4 walls -----------------
difference{
object{Wall} // Wall with hole for the door ----
box{<-1,0,-0.4>,<1,2,0.4> texture{Walltex}}
cylinder{<0,2,-0.5>,<0,2,0.5>,1 texture{Walltex}}
translate< 0,0,-6>}
object{Wall rotate<0, 0,0> translate< 0,0, 6>}
object{Wall rotate<0, 90,0> translate<-6,0, 0>}
object{Wall rotate<0,-90,0> translate< 6,0, 0>}
// -------------- floor inside -----------------------
box{<-6,-4,-6>,< 6,0.01,6>
texture{pigment{color Gray90}
finish{ambient 0.45 diffuse 0.55 phong 1}}}
//-----------------------------------------------end-- |