|
|
Rendering posted in binaries.images....
// Title: POV-Logo Goes to the Beach
//
// Author: Chris Colefax <cco### [at] geocitiescom>
// Date: 9 September 2000
// Version: POV-Ray official 3.1+
// Note: This scene requires map.png, which can be created by first
// rendering this code at a suitable resolution (e.g. 400 x 400):
/*
camera {right x up y location -z*10}
global_settings {hf_gray_16}
plane {z, 0
pigment {marble
color_map {[0 rgb 0] [1 rgb 1]}
sine_wave turbulence .4 octaves 2
}
finish {ambient 1 diffuse 0}
}
*/
// CAMERA AND LIGHTS
camera {right x*4/3 up y
location <-4, 10, -5>
look_at <0, 0, 0>
angle 50}
// Remove area light for quicker rendering
light_source {-z*1000 rgb <1.3, 1.1, .8>
area_light x*300, y*300, 4, 4 adaptive 1 jitter
rotate <45, -45, 0>}
light_source {<-1000, 1000, 1000> rgb <.2, .25, .3>
shadowless}
background {rgb <.4, .6, .9>}
// Adjust global brightness and constrast here
default {finish {ambient .3 diffuse .6}}
// GROUND PLANE AND WATER
height_field {png "map" translate -.5 scale <20, .15, 20>
pigment {rgb <.95, .9, .7>}
normal {bumps .2 scale .01}
finish {brilliance .75 irid {.2 thickness .7}}
}
plane {y, 0
pigment {rgbt 1}
normal {granite 1}
finish {specular .2 roughness .01 reflection .03 irid {.15 thickness .5}}
}
// SHELL MACROS
#macro SpiralShell1 ()
#local ShellTex = texture {
pigment {rgb <1, .98, .9>}
normal {radial .1 scallop_wave frequency 23}
finish {brilliance .85 irid {.1 thickness .3}}
}
difference {
blob {threshold .2
#local A = 0; #local Y = -4; #while (Y < .5)
#local P = (Y + 4)/4.5; #local S = .01 + P*.4;
sphere {<S, Y, 0>, S, 5
texture {ShellTex}
rotate y*A}
#local A = A + 31; #local Y = Y + S/8; #end
texture {ShellTex}
}
#local A = A + 31; #local Y = Y + S/8;
#local P = (Y + 4)/4.5; #local S = .01 + P*.4;
sphere {<S/2, Y, 0>, S*1 rotate y*A
pigment {rgb <.9, .6, .5>}
finish {brilliance 1.3 phong .1 phong_size 65 reflection .1 irid {.3
thickness .25}}
}
}
#end
#macro FlatShell ()
difference {
union {
#local R = -45; #while (R <= 45)
sphere {z, 1
scale <1, .5, 2>*cos(radians(R))
rotate y*R
}
#local R = R + 7.5; #end
pigment {rgb <.95, .88, .85>}
finish {brilliance .85 irid {.1 thickness .3}}
}
union {
#local R = -45; #while (R <= 45)
sphere {z, 1
scale <1, .2, 2.2>*cos(radians(R))
rotate y*R
}
#local R = R + 7.5; #end
pigment {rgb <.95, .91, .85>}
finish {brilliance .85 irid {.2 thickness .5}}
}
translate -z*2 scale .5
clipped_by {box {<-1, -1, -1>, <1, 0, 1> scale <2, 1, 2>}}
}
#end
#macro StarFish ()
blob {threshold .2
#local R1 = seed(0);
#local R = 0; #while (R < 360)
#local P = <0, 0, 0>; #local D = z*.1;
#local L = 0; #while (L <= 1)
#local D = vrotate(D, y*(rand(R1)-.5)*15)*.92;
sphere {<-.75, 0, 1>, 1, 1 scale vlength(D)*<1, .5, .75> translate P
rotate y*R}
sphere {<0, -.5, 0>, 1, 1 scale vlength(D)*<2, 1, 2> translate P rotate
y*R}
sphere {<0, .5, 1>, 1, -1 scale vlength(D)*<.5, 1, 1> translate P
rotate y*R}
sphere {<.75, 0, 1>, 1, 1 scale vlength(D)*<1, .5, .75> translate P
rotate y*R}
#local P = P + D;
#local L = L + vlength(D); #end
#local R = R + (360/5); #end
pigment {rgb 1}
finish {brilliance .85}
}
#end
#macro SpiralShell2 ()
blob {threshold .1
#local D = .01; #local R = .01; #while (R < 3)
sphere {z*D, D*.5, 1 rotate y*360*R}
sphere {z*D, D*.4, -1 scale <1.5, 1, 1> rotate y*360*R}
#local D = D * 1.05;
#local R = R + .05; #end
pigment {rgbt <1, 1, 1, .1>}
finish {brilliance .85 irid {.15 thickness .3}}
}
#end
// SHELLS IN SCENE
object {SpiralShell1()
translate <0, -.1, -.3>
rotate <85, 0, 30>
}
object {FlatShell()
rotate <-93, 0, -90>
scale <2.4, 2.2, 3> rotate z*30
translate <.1, 2, -.25>
rotate x*90
}
sphere {0, .5
pigment {rgb <.9, .92, .94>}
normal {bumps .1 scale .5}
finish {brilliance 1.2 phong .5 phong_size 45 reflection .1 irid {.2 thickness
.3}}
translate <0, .4, 2>
}
object {StarFish()
scale 2
translate <6, .1, 1>
}
object {SpiralShell2() rotate y*120 translate <-4, .2, -1.5>}
object {SpiralShell2() scale 1.5 translate <-3, 0, -2>}
object {SpiralShell2() scale 2 rotate -y*50 translate <-3.75, .2, -2>}
Post a reply to this message
|
|