|
|
Sven Littkowski <jam### [at] yahoocom> wrote:
> Hi,
>
> first of all, the attached image was NOT created with POV-Ray.
>
> But I am posting here to find out, if you all think, POV-Ray could
> create such images that look like various colorful oils (some even with
> "things" in them) as seen in this image. I like that image quite a lot,
> and wonder if POV-Ray could create such art. Maybe even random-generated.
I don't have a lot of time available on my pc. You can try playing around with
this:
// Begin Code
//
// PoVRay 3.7 Scene File " ... .pov"
// author: ...
// date: ...
//--------------------------------------------------------------------------
#version 3.7;
global_settings{ assumed_gamma 1.0 }
#default{ finish{ ambient 0.1 diffuse 0.9 }}
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// camera ------------------------------------------------------------------
camera {perspective angle 75 // front view
location <0.0 , 1.0 ,-3.0>
right x*image_width/image_height
look_at <0.0 , 1.0 , 0.0>}
// sun ----------------------------------------------------------------------
light_source{< 3000,3000,-3000> color rgb 1}
// sky ----------------------------------------------------------------------
sky_sphere { pigment { gradient <0,1,0>
color_map { [0.00 rgb <0.6,0.7,1.0>]
[0.35 rgb <0.1,0.0,0.8>]
[0.65 rgb <0.1,0.0,0.8>]
[1.00 rgb <0.6,0.7,1.0>]
}
scale 2
} // end of pigment
} //end of skysphere
// ground -------------------------------------------------------------------
plane{ <0,1,0>, 0
texture{ pigment{ checker color rgb<1,1,1>*1.2 color
rgb<0.25,0.15,0.1>*0}
//normal { bumps 0.75 scale 0.025}
finish { phong 0.1}
} // end of texture
} // end of plane
//---------------------------------------------------------------------------
//---------------------------- objects in scene ----------------------------
//---------------------------------------------------------------------------
#declare Shape= // ==>> Insert your shape here ==>>
sphere{0,1 translate y}
#declare Pig=<0,1,1>;
#declare Pig1=<1,0,1>;
#declare Pig2=<1,1,0>;
#macro Pigm(Col1, Col2, Col3) // ==>> Insert your main pigment here ==>>
bozo // pattern modifier
// (---turbulence warp---)
// turbulates similar to 'turbulence'
scale .3
warp {
turbulence 1 // amount of turbulence
//octaves 2 // optional turbulence modifiers
}
color_map {
[0 color rgb Col1]
[0.3 color rgb Col2]
[0.5 color rgb Col1]
[.7 color rgb Col3]
[1 color rgb Col1]
}
#end
#declare Pigmt=pigment {
Pigm(Pig1,Pig,Pig2)
}
#declare OuterMat= // ==>> Insert your Outer Material here (at least one
material should have transparency) ==>>
material{texture{pigment{rgbt 1}//Pigmt transmit 1}
finish{}//specular .1 reflection{0,.1 metallic}}
}
/* interior{ior 1.3
media {
// (---general values---)
scattering {1, rgb 1 }
//emission .5
method 3 // adaptive sampling
density { Pigm(Pig*Pig1,Pig,Pig*Pig2) }
}
} */
}
#declare Pigmt1=pigment {
Pigm(Pig1,Pig1*Pig2,Pig1*Pig)
}
#declare InnerMat1= // ==>> Insert your Inner Material here (at least one
material should have transparency) ==>>
material{texture{pigment{Pigmt1 filter .5 transmit .5}
finish{specular .1 metallic reflection{0,1 metallic}}
}
interior{ior 1.5
media {
// (---general values---)
/*intervals 10 // number of intervals used for
sampling [10]
samples 1,1 // minimum and maximum number of
samples taken per interval [1,1]
confidence 0.9 // statistic parameter
higher->better quality [0.9]
variance 1.0/128 // statistic parameter
lower->better quality [1.0/128]
ratio 0.9 // distribution between lit and
unlit areas [0.9]
*/
scattering {1, rgb 2 }
method 3 // adaptive sampling
density { Pigm(Pig1,Pig1*Pig2,Pig1*Pig) }
}
}
}
#declare Pigmt2=pigment {
Pigm(Pig2*Pig,Pig2*Pig1,Pig2)
}
#declare InnerMat2= // ==>> Insert your Inner Material here (at least one
material should have transparency) ==>>
material{texture{pigment{Pigmt2 filter .5 transmit .5}
finish{specular .1 phong 1 metallic reflection{0,1 metallic}}
}
interior{ior 1.5
media {
// (---general values---)
/*intervals 10 // number of intervals used for
sampling [10]
samples 1,1 // minimum and maximum number of
samples taken per interval [1,1]
confidence 0.9 // statistic parameter
higher->better quality [0.9]
variance 1.0/128 // statistic parameter
lower->better quality [1.0/128]
ratio 0.9 // distribution between lit and
unlit areas [0.9]
*/
scattering {1, rgb 2 }
method 3 // adaptive sampling
density { Pigm(Pig2*Pig,Pig2*Pig1,Pig2) }
}
}
}
// end of custom declares
/////////////////////////////////////////////////////////////////
#declare fn_Pigm=function {pigment{Pigm(<1,1,1>,<.5,.5,.5>,<0,0,0>)}}
#declare Threshold1=0.4; // changes the area in the texture where the inner
material starts in the main pigment
#declare Threshold2=0.6; // changes the area in the texture where the inner
material starts in the main pigment
#declare Threshold1a=0.1; // changes the area in the texture where the inner
material starts in the main pigment
#declare Threshold2b=0.9; // changes the area in the texture where the inner
material starts in the main pigment
#declare IsoShape1=
isosurface {
function{fn_Pigm(x/2, y/2, z/2).gray}
threshold Threshold1
contained_by { box {min_extent(Shape),max_extent(Shape) } }
accuracy 0.003
max_gradient 5 // <<== Check max Gradient in messages after a test render <<==
***
} // end of isosurface ------------------------------
#declare IsoShape1a=
isosurface {
function{fn_Pigm(x/2, y/2, z/2).gray}
threshold Threshold1a
contained_by { box {min_extent(Shape),max_extent(Shape) } }
accuracy 0.003
max_gradient 5 // <<== Check max Gradient in messages after a test render <<==
***
} // end of isosurface ------------------------------
#declare IsoShape2=
isosurface {
function{fn_Pigm(x/2, y/2, z/2).gray}
threshold Threshold2
contained_by { box {min_extent(Shape),max_extent(Shape) } }
accuracy 0.003
max_gradient 5 // <<== Check max Gradient in messages after a test render <<==
***
} // end of isosurface ------------------------------
#declare IsoShape2b=
isosurface {
function{fn_Pigm(x/2, y/2, z/2).gray}
threshold Threshold2
contained_by { box {min_extent(Shape),max_extent(Shape) } }
accuracy 0.003
max_gradient 5 // <<== Check max Gradient in messages after a test render <<==
***
} // end of isosurface ------------------------------
#declare Shape1= intersection{
object{Shape}
difference{
object{IsoShape1}
object{IsoShape1a}
}
}
#declare Shape2=intersection{
object{Shape}
difference{
object{IsoShape2b}
object{IsoShape2}
}
}
union{
object{Shape1
material{InnerMat1}
hollow
}
object{Shape2
material{InnerMat2}
hollow
}
/*
difference{object{Shape}
object{Shape1}
object{Shape2}
material{OuterMat}
hollow
}
*/
}
/////////////////////////////////////////////////////////////
// End Code
Post a reply to this message
|
|