POV-Ray : Newsgroups : povray.binaries.images : premier Server Time
15 Nov 2024 17:13:56 EST (-0500)
  premier (Message 1 to 3 of 3)  
From: nemesis
Subject: premier
Date: 24 Apr 2006 11:50:00
Message: <web.444cf3024ef70b213976a8750@news.povray.org>
hello, all!  my first public posting of an image!  I decided to skip the
classic sphere-on-a-checkered-plane theme much for the happiness of
everyone... :)

I'm not new to povray, but finally i've got some free time in my hands in
recent years to break out from mere experiments and try something decent,
so i'm hoping my techniques improve accordingly.

This one came up in about 3 hours -- just 12 minutes to render on a P4.  I
was bored at a java course, installed povray and after some mud piling came
up with a simple scene depicting a ceramic jar on top of a glass tabletop.
There is a marble floor -- or at least that's what it was supposed to be --
and a few benches nearby.  Four pointlights above squarely positioned.
There's some DoF too...

The floor marble texturing was the actual original point of this image -- I
wanted to create truly realistic marble floor, but somewhere inbetween
missed it... still, i found the image nice enough to share and not feel
embarassed... :P

i appreciate thoughts and critiques...

source code, as messy as anything quickly scratched:


global_settings { assumed_gamma 1.33 }

camera { location <-3.47,3.18,1.6> look_at <.4,.5,.7> angle 40
        aperture .1 blur_samples 40 variance .0001 focal_point
<.46,.926,1.2>
}

light_source { <2.8,2.8,.2> .8 }
light_source { <-2.8,2.8,.2> .8 }
light_source { <2.8,2.8,-2.8> .8 }
light_source { <-2.8,2.8,-2.8> .8 }


#declare p_marm1 =
pigment { marble
        color_map {
                [0 rgb 1]
                [0.7 rgb 1]
                [1 rgb .6*<.7,.86,.76>]
        }
        warp { turbulence 1.3 }
        warp { black_hole 2, 2 repeat x*5 turbulence 3.5 inverse }
}
#declare n_marm1 =
normal { marble
        warp { turbulence 1.3 }
        warp { black_hole 2, 2 repeat x*5 turbulence 3.5 inverse }
}

#declare p_marm2 =
pigment { marble
        color_map {
                [0 rgb 1]
                [0.68 rgb <.8,.92,1>]
                [1 rgb <.7,.8,.86>]
        }
        warp { turbulence 2.3 }
        warp { black_hole 2, 2 repeat x*4.3 turbulence 2.5 inverse }
        rotate <20,40,10>
        scale 2.3
}
#declare n_marm2 =
normal { marble
        warp { turbulence 2.3 }
        warp { black_hole 2, 2 repeat x*4.3 turbulence 2.5 inverse }
        rotate <20,40,10>
        scale 2.3
}

// floor
plane { y, 0
        texture {
                pigment { agate agate_turb .2
                        pigment_map {
                                [0 p_marm1 scale 4.3 scale z*.4 rotate y*10
]
                                [0.6 p_marm1 scale 3.3 rotate y*30]
                                [1 p_marm2 rotate z*20]
                        }
                        scale 2.4
                        warp { turbulence 1.4 }
                        warp { repeat x offset .04*y flip 2.3*z }
                        warp { repeat z offset 3*x flip x }
                }
                normal { average
                        normal_map {
                        [0 quilted control0 .2 control1 .02 bump_size .94
                        ]
                        [.3 agate agate_turb .2
                                normal_map {
                                        [0 n_marm1 scale 4.3 scale z*.4
rotate y*10 ]
                                        [0.6 n_marm1 scale 3.3 rotate y*30]
                                        [1 n_marm2 rotate z*20]
                                }
                                scale 2.4
                                warp { turbulence 1.4 }
                        ]
                        [.84 crackle turbulence .2 scale .001 ]
                        [1 quilted control0 .2 control1 .02 bump_size .94
                        ]
                        }
                                warp { repeat x offset .04*y flip z }
                                warp { repeat z offset 3*x flip x }
                }
                finish { ambient .3 diffuse .1 specular .8 roughness .01
metallic reflection { .7 } }
        }
}

// well, there's a wall as well
plane { -z, -3
        pigment { rgb <1,.8,.8> }
}

// and a ceiling
plane { -y, -3.4
        pigment { rgb 1 }
}

// table
union {
        box { -.5,.5
                scale <1.8,.9,1.5>
                pigment { agate agate_turb .7 color_map{[0 rgb 0][.7 rgb
0][1 rgb <.7,.9,.9>]} sine_wave warp { turbulence .3 } scale .1 rotate
<2,0,20> translate .2*x }
                normal { agate agate_turb .7 sine_wave warp { turbulence .3
} scale .1 rotate <2,0,20> translate .2*x }
                finish { diffuse .1 specular .88 roughness .003 }
                translate .45*y
        }
        // glass tabletop
        box { -.5,.5
                scale <2.2,.026,1.9>
                translate (.9+.013)*y
                texture {
                        pigment { rgbt <.8,1,.8,.9> }
                        finish { ambient .2 diffuse .1 specular .6 roughness
..0001 reflection { .7 } }
                }
                interior { ior 1.55 }
        }
        rotate y*90
        translate <.3,0,1.4>
}

#declare bench =
union {
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate (.6/2-.051)*y
translate .46*z rotate -6*x rotate 90*y }
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate (.6/2-.051)*y
translate .46*z rotate -6*x rotate 2*90*y }
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate (.6/2-.051)*y
translate .46*z rotate -6*x rotate 3*90*y }
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate (.6/2-.051)*y
translate .46*z rotate -6*x rotate 4*90*y }

        cylinder { -.5*y,.5*y, .5 scale y*.05 translate (.6+.025)*y }

        pigment { wood color_map{[0 rgb <.4,.2,0>][1 rgb <.6,.5,.4>]}
sine_wave warp { turbulence .3 } scale .01 rotate <2,0,20> translate .2*x }
        rotate y*20
}

object { bench translate -1.8*x }
object { bench translate 1.96*x + 1*z }
object { bench rotate y*66 translate <2.5,0,-1.3> }

sor { 6
        <.2,0>
        <.16,0>
        <.19.33>
        <.082,.69>
        <.132,.84>
        <.1,.91>
        open
        //pigment { rgb y }
        pigment { granite turbulence 1.5 color_map{[0 rgb y][.2 rgb
<.8,.6,.6>][1 rgb 1]} scale .06 }
        finish { phong .7 }
        translate (.9+.026)*y
        translate <.46,0,1.2>
}


Post a reply to this message


Attachments:
Download 'mesa_e_ceramica.jpg' (30 KB)

Preview of image 'mesa_e_ceramica.jpg'
mesa_e_ceramica.jpg


 

From: Thomas de Groot
Subject: Re: premier
Date: 25 Apr 2006 03:30:25
Message: <444dd011@news.povray.org>
Nice!
A few things, though. The wood texture is too obviously identical on the
stools. Some random transforms should do the trick.
I am not too happy about the floor, which seems too washed out. In the
finish, I would put ambient to 0 (everywhere in fact), and reduce specular
to below 0.5. I am not sure about the metallic reflection... keep it low
too.
Well, the discussion about assumed_gamma is old (and still raging?), I would
keep it at 1, imo.

Thomas


Post a reply to this message

From: nemesis
Subject: Re: premier
Date: 25 Apr 2006 09:35:01
Message: <web.444e2510ed69e678f2ff13290@news.povray.org>
"Thomas de Groot" <t.d### [at] internlnet> wrote:
> Nice!

thanks for the tips, Thomas.  I tried to follow them and set ambient to very
low values, removed the metallic finish from the floor ( where was my head
at? ), low specular and a little diffuse.  I also put in some radiosity in
for fun's sake and  temporarily removed the glass table to focus on the
marble floor.  I scaled it a bit to show off better and the quilted normal
no doubt isn't a match for real superellipsoid tiles, but still...

i also seemingly did not have much luck with the random transforms on the
stools, and the DoF doesn't help to figure it out.  Well, let's call this
WIP2 and later i'll come back to it...

assumed_gamma = 1 as per request...

source, as usual:


global_settings { assumed_gamma 1 max_trace_level 10
        radiosity { brightness .6 normal on }
}

// yay! randomness...
#declare R1 = seed(0);
#declare R2 = seed(12345);

#declare original_cam_pos = <-3.47,3.18,1.6>;

camera { location <-3.47,2.38,1.8> look_at <.4,.5,.7> angle 40
        aperture .04 blur_samples 40 variance .0001 focal_point
<-.46,(.6+.025+.2),1.29> //<.46,.926,1.2>
}

light_source { <3.8,2.8,.2> .87
        area_light 1*x,4*z,3,3 adaptive .0001 }
light_source { <-3.8,2.8,.2> .83
        area_light 1*x,4*z,3,3 adaptive .0001 }
light_source { <3.8,2.8,-2.8> .86
        area_light 1*x,4*z,3,3 adaptive .0001 }
light_source { <-3.8,2.8,-2.8> .89
        area_light 1*x,4*z,3,3 adaptive .0001 }


#declare p_marm1 =
pigment { marble
        color_map {
                [0 rgb 1]
                [0.7 rgb 1]
                [1 rgb .8*<.7,.86,.76>]
        }
        warp { turbulence 1.3 }
        warp { black_hole 2, 2 repeat x*5 turbulence 3.5 inverse }
}
#declare n_marm1 =
normal { marble
        warp { turbulence 1.3 }
        warp { black_hole 2, 2 repeat x*5 turbulence 3.5 inverse }
}

#declare p_marm2 =
pigment { marble
        color_map {
                [0 rgb 1]
                [0.68 rgb <.8,.92,1>]
                [1 rgb <.7,.8,.86>]
        }
        warp { turbulence 2.3 }
        warp { black_hole 2, 2 repeat x*4.3 turbulence 2.5 inverse }
        rotate <20,40,10>
        scale 2.3
}
#declare n_marm2 =
normal { marble
        warp { turbulence 2.3 }
        warp { black_hole 2, 2 repeat x*4.3 turbulence 2.5 inverse }
        rotate <20,40,10>
        scale 2.3
}

// floor
plane { y, 0
        texture {
                pigment { agate agate_turb .2
                        pigment_map {
                                [0 p_marm1 scale 3.3 scale z*.4 rotate y*10
]
                                [0.6 p_marm1 scale .4 rotate y*30]
                                [1 p_marm2 rotate z*20]
                        }
                        scale 2.4
                        warp { turbulence 1.4 }
                        warp { repeat x offset .04*y flip 2.3*z }
                        warp { repeat z offset 3*x flip x }
                }
                normal { average
                        normal_map {
                                [0 quilted control0 .2 control1 .1 bump_size
1.2 scale 1.04]
                                [.3 agate agate_turb .2
                                        normal_map {
                                                [0 n_marm1 scale 3.3 scale
z*.4 rotate y*10 ]
                                                [0.6 n_marm1 scale .4 rotate
y*30]
                                                [1 n_marm2 rotate z*20]
                                        }
                                        scale 2.4
                                        warp { turbulence 1.4 }
                                ]
                                [.74 crackle turbulence .6 scale .00091]
                                [1 quilted control0 .1 control1 .2 bump_size
1.24 scale 1.04 rotate -x*4*rand(R2)]
                        }
                        warp { repeat x offset .04*y flip z }
                        warp { repeat z offset 3*x flip x }
                }
                finish { ambient 0 diffuse .371 brilliance .7 specular .28
roughness .001 reflection { .6 } }
                scale 1.4
        }
}

// there's a wall too, believe it or not...
plane { -z, -3 pigment { rgb <1,.8,.8> } finish { ambient 0 diffuse .36 } }

// and a ceiling!
plane { -y, -3.4 pigment { rgb 1 } finish { ambient 0 diffuse .2 } }

/*
// table
union {
        // base
        box { -.5,.5
                scale <1.8,.9,1.5>
                pigment { agate agate_turb .7 sine_wave
                        color_map{[0 rgb 0][.7 rgb 0][1 rgb <.7,.9,.9>]}
                        warp { turbulence .3 }
                        scale .1 rotate <2,0,20> translate .2*x
                }
                normal { agate agate_turb .7 sine_wave
                        warp { turbulence .3 }
                        scale .1 rotate <2,0,20> translate .2*x
                }
                finish { diffuse .1 specular .88 roughness .003 }
                translate .45*y
        }
        // glass top
        box { -.5,.5
                scale <2.2,.026,1.9>
                translate (.9+.013)*y
                texture {
                        pigment { rgbt <.8,1,.8,.9> }
                        finish { ambient .04 diffuse .061 specular .46
roughness .001 reflection { .6 } }
                }
                //interior { ior 1.55 }
        }
        rotate y*90
        translate <.3,0,1.4>
}
*/

#declare t_stool =
texture {
        pigment { wood
                color_map{[0 rgb <.4,.2,0>][1 rgb <.6,.5,.4>]}
                sine_wave
                warp { turbulence .3 }
                scale .01 rotate <6,0,20> translate .2*x
        }
        normal { wood bump_size 1.8
                sine_wave
                warp { turbulence .3 }
                scale .01 rotate <6,0,20> translate .2*x
        }
        finish { ambient .1 diffuse .37 brilliance .84 }
}

#declare stool =
union {
        // feet
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate <0,(.6/2-.051),.46>
rotate <-6,90,0> }
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate <0,(.6/2-.051),.46>
rotate <-6,2*90,0> }
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate <0,(.6/2-.051),.46>
rotate <-6,3*90,0> }
        cylinder { -.5*y,.5*y, .05 scale y*.6 translate <0,(.6/2-.051),.46>
rotate <-6,4*90,0> }

        // top
        cylinder { -.5*y,.5*y, .5 scale y*.05 translate (.6+.025)*y }

        rotate y*20
}

#declare R = R2;
object { stool texture { t_stool rotate
<rand(R)*18,(rand(R)-5)*30,(rand(R)*18)+20> translate rand(R)*.2*x }
translate -.8*x + 1.4*z }
object { stool texture { t_stool rotate
<rand(R)*18,(rand(R)-5)*30,(rand(R)*18)+20> translate rand(R)*.2*x }
translate 1.96*x + 1*z }
object { stool texture { t_stool rotate
<rand(R)*18,(rand(R)-5)*30,(rand(R)*18)+20> translate rand(R)*.2*x } rotate
y*66 translate <2.5,0,-1.3> }

// ceramic jar.  now on top of a stool :P
sor { 6
        <.2,0>
        <.16,0>
        <.19.33>
        <.082,.69>
        <.132,.84>
        <.1,.91>
        open
        //pigment { rgb y }
        pigment { granite turbulence 1.5 color_map{[0 rgb y][.2 rgb
<.8,.6,.6>][1 rgb 1]} scale .06 }
        finish { phong .7 }
        translate (.6+.025)*y //translate (.9+.026)*y
        translate -.76*x + 1.49*z //translate <.46,0,1.2>
}


Post a reply to this message


Attachments:
Download 'mesa_e_ceramica2.jpg' (27 KB)

Preview of image 'mesa_e_ceramica2.jpg'
mesa_e_ceramica2.jpg


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.