 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I was messing around with some multifractals and came up with this. It's
based on a crackle form <1,0,0> repeated like a perlin multi-fractal over 8
octaves. The heightfield renders pretty quick (19 minutes) but the isosurfae
took an amazing 9 hours!
Here's the code for the pattern, the Curve value adjusts how the holes look.
Have a look at p.b.a to see what happens when I animate that value!:
pigment {
#local Curve=1/8; // small values make it look porous
#local Omega=0.5;
#local Lambda=2;
#local Octaves=8;
pigment_pattern {
average
pigment_map {
#local octave=0;
#while ( octave < Octaves )
[pow(Omega,octave)
pigment_pattern {
crackle form <.9,0,0>
scale pow(Lambda,-octave)
colour_map {[0 rgb 1][1 rgb 0]}
}
poly_wave 1/Curve
]
#local octave=octave+1;
#end
}
}
poly_wave Curve
colour_map {[0 rgb 1][1 rgb 0]}
}
--
Tek
http://evilsuperbrain.com
Post a reply to this message
Attachments:
Download 'sponge-b.jpg' (111 KB)
Download 'sponge-a.jpg' (82 KB)
Preview of image 'sponge-b.jpg'

Preview of image 'sponge-a.jpg'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Tek napsal(a):
> I was messing around with some multifractals and came up with this. It's
> based on a crackle form <1,0,0> repeated like a perlin multi-fractal over 8
> octaves. The heightfield renders pretty quick (19 minutes) but the isosurfae
> took an amazing 9 hours!
>
> Here's the code for the pattern, the Curve value adjusts how the holes look.
> Have a look at p.b.a to see what happens when I animate that value!:
>
I really like it. It looks a bit like a solidified lava.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Tek" <tek### [at] evilsuperbrain com> wrote:
> I was messing around with some multifractals and came up with this. It's
Lovely! Karst and pumice. :)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Tek" <tek### [at] evilsuperbrain com> wrote:
> I was messing around with some multifractals and came up with this. It's
> based on a crackle form <1,0,0> repeated like a perlin multi-fractal over 8
> octaves. The heightfield renders pretty quick (19 minutes) but the isosurfae
> took an amazing 9 hours!
I've been trying (unsuccessfully) to come up with something like this for
awhile; thanks for sharing it.
Nicely done.
Ken W.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I rendered a detailed version! It took an impressive 3.5 days!!!
--
Tek
http://evilsuperbrain.com
"Tek" <tek### [at] evilsuperbrain com> wrote in message
news:486e82e5@news.povray.org...
>I was messing around with some multifractals and came up with this. It's
> based on a crackle form <1,0,0> repeated like a perlin multi-fractal over
> 8
> octaves. The heightfield renders pretty quick (19 minutes) but the
> isosurfae
> took an amazing 9 hours!
>
> Here's the code for the pattern, the Curve value adjusts how the holes
> look.
> Have a look at p.b.a to see what happens when I animate that value!:
>
> pigment {
> #local Curve=1/8; // small values make it look porous
> #local Omega=0.5;
> #local Lambda=2;
> #local Octaves=8;
> pigment_pattern {
> average
> pigment_map {
> #local octave=0;
> #while ( octave < Octaves )
> [pow(Omega,octave)
> pigment_pattern {
> crackle form <.9,0,0>
> scale pow(Lambda,-octave)
> colour_map {[0 rgb 1][1 rgb 0]}
> }
> poly_wave 1/Curve
> ]
> #local octave=octave+1;
> #end
> }
> }
> poly_wave Curve
> colour_map {[0 rgb 1][1 rgb 0]}
> }
>
>
> --
> Tek
> http://evilsuperbrain.com
>
>
>
Post a reply to this message
Attachments:
Download 'sponge_detail.jpg' (570 KB)
Preview of image 'sponge_detail.jpg'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Tek a écrit :
> I rendered a detailed version! It took an impressive 3.5 days!!!
>
>
Wow! The result is worth the long wait.
tuabiht
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
3 days... on what hardware?
Rarius
"Tek" <tek### [at] evilsuperbrain com> wrote in message
news:4873ce68@news.povray.org...
>I rendered a detailed version! It took an impressive 3.5 days!!!
>
> --
> Tek
> http://evilsuperbrain.com
>
>
> "Tek" <tek### [at] evilsuperbrain com> wrote in message
> news:486e82e5@news.povray.org...
>>I was messing around with some multifractals and came up with this. It's
>> based on a crackle form <1,0,0> repeated like a perlin multi-fractal over
>> 8
>> octaves. The heightfield renders pretty quick (19 minutes) but the
>> isosurfae
>> took an amazing 9 hours!
>>
>> Here's the code for the pattern, the Curve value adjusts how the holes
>> look.
>> Have a look at p.b.a to see what happens when I animate that value!:
>>
>> pigment {
>> #local Curve=1/8; // small values make it look porous
>> #local Omega=0.5;
>> #local Lambda=2;
>> #local Octaves=8;
>> pigment_pattern {
>> average
>> pigment_map {
>> #local octave=0;
>> #while ( octave < Octaves )
>> [pow(Omega,octave)
>> pigment_pattern {
>> crackle form <.9,0,0>
>> scale pow(Lambda,-octave)
>> colour_map {[0 rgb 1][1 rgb 0]}
>> }
>> poly_wave 1/Curve
>> ]
>> #local octave=octave+1;
>> #end
>> }
>> }
>> poly_wave Curve
>> colour_map {[0 rgb 1][1 rgb 0]}
>> }
>>
>>
>> --
>> Tek
>> http://evilsuperbrain.com
>>
>>
>>
>
>
>
>
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Rarius napsal(a):
I think a lot of time was taken by radiosity
> 3 days... on what hardware?
>
> Rarius
>
> "Tek" <tek### [at] evilsuperbrain com> wrote in message
> news:4873ce68@news.povray.org...
>> I rendered a detailed version! It took an impressive 3.5 days!!!
>>
>> --
>> Tek
>> http://evilsuperbrain.com
>>
>>
>> "Tek" <tek### [at] evilsuperbrain com> wrote in message
>> news:486e82e5@news.povray.org...
>>> I was messing around with some multifractals and came up with this. It's
>>> based on a crackle form <1,0,0> repeated like a perlin multi-fractal over
>>> 8
>>> octaves. The heightfield renders pretty quick (19 minutes) but the
>>> isosurfae
>>> took an amazing 9 hours!
--
You know you've been raytracing too long when...
you ever saw a beautiful scenery and regretted not to take your 6"
reflective ball and a digital camera, thinking "this would have been a
perfect light probe"
-Johnny D
Johnny D
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Rarius" <rar### [at] rarius co uk> wrote in message
news:4873fa68$1@news.povray.org...
>3 days... on what hardware?
Intel Core2 Quad CPU, Q6600 @ 2.40GHz (my work PC)
Though it was rendered in Megapov, so it only used 1 of those 4 cores
The time is taken because it's based on the crackle pigment - one of
povray's slowest patterns - and I'm reading from that multiple times (once
per octave, and 10 octaves for that picture). On top of that there's the
huge resolution, anti-aliasing, radiosity, and high max_gradient in the
isosurface.
--
Tek
http://evilsuperbrain.com
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Tek" <tek### [at] evilsuperbrain com> wrote:
> I rendered a detailed version! It took an impressive 3.5 days!!!
Wow Tek, this is really gorgeous! I'm gonna render one for a few days myself :)
-Rob
"There is no spoon."
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Wow, thats fantastic. Can I ask how the isosurface was defined ? i.e.
is it a sphere - this pattern ? Or am i way off base !
On Fri, 4 Jul 2008 21:06:51 +0100, "Tek" <tek### [at] evilsuperbrain com>
wrote:
>I was messing around with some multifractals and came up with this. It's
>based on a crackle form <1,0,0> repeated like a perlin multi-fractal over 8
>octaves. The heightfield renders pretty quick (19 minutes) but the isosurfae
>took an amazing 9 hours!
>
>Here's the code for the pattern, the Curve value adjusts how the holes look.
>Have a look at p.b.a to see what happens when I animate that value!:
>
>pigment {
> #local Curve=1/8; // small values make it look porous
> #local Omega=0.5;
> #local Lambda=2;
> #local Octaves=8;
> pigment_pattern {
> average
> pigment_map {
> #local octave=0;
> #while ( octave < Octaves )
> [pow(Omega,octave)
> pigment_pattern {
> crackle form <.9,0,0>
> scale pow(Lambda,-octave)
> colour_map {[0 rgb 1][1 rgb 0]}
> }
> poly_wave 1/Curve
> ]
> #local octave=octave+1;
> #end
> }
> }
> poly_wave Curve
> colour_map {[0 rgb 1][1 rgb 0]}
>}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Rob Richards" <ari### [at] btinternet com> wrote in message
news:in4h74tllnc5r82ropj3sg006boujelu77@4ax.com...
> Wow, thats fantastic. Can I ask how the isosurface was defined ? i.e.
> is it a sphere - this pattern ? Or am i way off base !
You're exactly right, sphere - pattern.
--
Tek
http://evilsuperbrain.com
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Tek" <tek### [at] evilsuperbrain com> wrote in message
news:4878f316$1@news.povray.org...
> "Rob Richards" <ari### [at] btinternet com> wrote in message
> news:in4h74tllnc5r82ropj3sg006boujelu77@4ax.com...
>> Wow, thats fantastic. Can I ask how the isosurface was defined ? i.e.
>> is it a sphere - this pattern ? Or am i way off base !
>
> You're exactly right, sphere - pattern.
>
> --
> Tek
> http://evilsuperbrain.com
>
>
Hmmm, there must be something I'm doing really wrong then as all I can get
out of this is a flat textured shape, I dont get any porous effects at all!
If I render it as a hightfield it also looks totally wrong :(
Meh, goes back to fiddle some more...
Cheers Dre
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Dre" <and### [at] gmail com> wrote:
> Hmmm, there must be something I'm doing really wrong then as all I can get
> out of this is a flat textured shape, I dont get any porous effects at all!
>
> If I render it as a hightfield it also looks totally wrong :(
>
> Meh, goes back to fiddle some more...
>
> Cheers Dre
I'm guessing that you're supposed to use it as an object pattern. Basically, an
object pattern is a pattern turned into an object that you can use in CSG.
-Mike
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Tek" <tek### [at] evilsuperbrain com> wrote:
> I was messing around with some multifractals and came up with this. It's
> based on a crackle form <1,0,0> repeated like a perlin multi-fractal over 8
> octaves. The heightfield renders pretty quick (19 minutes) but the isosurfae
> took an amazing 9 hours!
It looks incredible! I'm wondering what the results would be in terms of
rendering times if you used a mesh instead of an isosurface. I know there's an
external utitlity to replace parametric objects with meshes. I can't recall if
there's also one for isosurfaces.
Of course, the typical parametric curve tends to be much smoother than the
object you've created here. Not sure if this is the ideal application for
meshes.
-Mike
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"SharkD" <nomail@nomail> wrote in message
news:web.487abb1b1771580b302c26d00@news.povray.org...
> "Dre" <and### [at] gmail com> wrote:
>> Hmmm, there must be something I'm doing really wrong then as all I can
>> get
>> out of this is a flat textured shape, I dont get any porous effects at
>> all!
>>
>> If I render it as a hightfield it also looks totally wrong :(
>>
>> Meh, goes back to fiddle some more...
>>
>> Cheers Dre
>
> I'm guessing that you're supposed to use it as an object pattern.
> Basically, an
> object pattern is a pattern turned into an object that you can use in CSG.
>
> -Mike
>
hmm, still above my abilities, I'll keep reading...
Thanks for the info though.
Cheers Dre
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Dre" <and### [at] gmail com> wrote:
> "SharkD" <nomail@nomail> wrote in message
> > I'm guessing that you're supposed to use it as an object pattern.
> > Basically, an
> > object pattern is a pattern turned into an object that you can use in CSG.
> >
> > -Mike
> >
>
> hmm, still above my abilities, I'll keep reading...
>
> Thanks for the info though.
>
> Cheers Dre
Doh! I got that completely backwards! An object pattern is an *object* that is
turned into a *pattern*, not the other way around. Sorry!
-Mike
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Wasn't it Dre who wrote:
>"Tek" <tek### [at] evilsuperbrain com> wrote in message
>news:4878f316$1@news.povray.org...
>> "Rob Richards" <ari### [at] btinternet com> wrote in message
>> news:in4h74tllnc5r82ropj3sg006boujelu77@4ax.com...
>>> Wow, thats fantastic. Can I ask how the isosurface was defined ? i.e.
>>> is it a sphere - this pattern ? Or am i way off base !
>>
>> You're exactly right, sphere - pattern.
>>
>> --
>> Tek
>> http://evilsuperbrain.com
>>
>>
>
>Hmmm, there must be something I'm doing really wrong then as all I can get
>out of this is a flat textured shape, I dont get any porous effects at all!
>
>If I render it as a hightfield it also looks totally wrong :(
>
>Meh, goes back to fiddle some more...
It goes something like this:
#version 3.6;
global_settings {assumed_gamma 1.0}
camera {location <0,0,-10> look_at <0,0,0>}
background {rgb <.8,.8,1>}
light_source {<-30, 100, -30> color rgb 0.5}
light_source {<0, 10, -30> color rgb 0.5}
#declare P = function{pigment {
#local Curve=1/8; // small values make it look porous
#local Omega=0.5;
#local Lambda=2;
#local Octaves=8;
pigment_pattern {
average
pigment_map {
#local octave=0;
#while ( octave < Octaves )
[pow(Omega,octave)
pigment_pattern {
crackle form <.9,0,0>
scale pow(Lambda,-octave)
colour_map {[0 rgb 1][1 rgb 0]}
}
poly_wave 1/Curve
]
#local octave=octave+1;
#end
}
}
poly_wave Curve
colour_map {[0 rgb 1][1 rgb 0]}
}}
#declare S = function {x*x + y*y + z*z - 1}
isosurface {
function { S(x,y,z) - P(x,z,y).grey*2 }
max_gradient 70
contained_by{sphere{0,1.5}}
pigment {rgb 1}
scale 3
}
I've not done any radiosity or other fancy rendering on this, so it
renders a bit faster but doesn't look as good.
Try tweaking the numbers in "grey*2" and "scale 3".
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Mike Williams" <nos### [at] econym demon co uk> wrote in message
news:+9fE### [at] econym demon co uk...
> Wasn't it Dre who wrote:
>>"Tek" <tek### [at] evilsuperbrain com> wrote in message
>>news:4878f316$1@news.povray.org...
>>> "Rob Richards" <ari### [at] btinternet com> wrote in message
>>> news:in4h74tllnc5r82ropj3sg006boujelu77@4ax.com...
>>>> Wow, thats fantastic. Can I ask how the isosurface was defined ? i.e.
>>>> is it a sphere - this pattern ? Or am i way off base !
>>>
>>> You're exactly right, sphere - pattern.
>>>
>>> --
>>> Tek
>>> http://evilsuperbrain.com
>>>
>>>
>>
>>Hmmm, there must be something I'm doing really wrong then as all I can get
>>out of this is a flat textured shape, I dont get any porous effects at
>>all!
>>
>>If I render it as a hightfield it also looks totally wrong :(
>>
>>Meh, goes back to fiddle some more...
>
> It goes something like this:
>
> #version 3.6;
>
> global_settings {assumed_gamma 1.0}
>
> camera {location <0,0,-10> look_at <0,0,0>}
>
> background {rgb <.8,.8,1>}
>
> light_source {<-30, 100, -30> color rgb 0.5}
> light_source {<0, 10, -30> color rgb 0.5}
>
> #declare P = function{pigment {
> #local Curve=1/8; // small values make it look porous
> #local Omega=0.5;
> #local Lambda=2;
> #local Octaves=8;
> pigment_pattern {
> average
> pigment_map {
> #local octave=0;
> #while ( octave < Octaves )
> [pow(Omega,octave)
> pigment_pattern {
> crackle form <.9,0,0>
> scale pow(Lambda,-octave)
> colour_map {[0 rgb 1][1 rgb 0]}
> }
> poly_wave 1/Curve
> ]
> #local octave=octave+1;
> #end
> }
> }
> poly_wave Curve
> colour_map {[0 rgb 1][1 rgb 0]}
> }}
>
> #declare S = function {x*x + y*y + z*z - 1}
>
> isosurface {
> function { S(x,y,z) - P(x,z,y).grey*2 }
> max_gradient 70
> contained_by{sphere{0,1.5}}
> pigment {rgb 1}
> scale 3
> }
>
> I've not done any radiosity or other fancy rendering on this, so it
> renders a bit faster but doesn't look as good.
>
> Try tweaking the numbers in "grey*2" and "scale 3".
>
> --
> Mike Williams
> Gentleman of Leisure
Whoa, okay so I was waaaaaaay off base here!
But I now know where I went wrong (massivly wrong, hehehe). I'm still
learning how to use isosurfaces properly and that was my mistake, thanks
very much for that bit of code, thats cleared that up for me nicely.
Now to start playing around!
Cheers Dre
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"SharkD" <nomail@nomail> wrote in message
news:web.487addc91771580b302c26d00@news.povray.org...
> "Dre" <and### [at] gmail com> wrote:
>> "SharkD" <nomail@nomail> wrote in message
>> > I'm guessing that you're supposed to use it as an object pattern.
>> > Basically, an
>> > object pattern is a pattern turned into an object that you can use in
>> > CSG.
>> >
>> > -Mike
>> >
>>
>> hmm, still above my abilities, I'll keep reading...
>>
>> Thanks for the info though.
>>
>> Cheers Dre
>
> Doh! I got that completely backwards! An object pattern is an *object*
> that is
> turned into a *pattern*, not the other way around. Sorry!
>
> -Mike
>
Thats ok I was way off anyway, its been cleared up now though so all good!
Cheers Dre
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"SharkD" <nomail@nomail> wrote in message
news:web.487abbde1771580b302c26d00@news.povray.org...
>
> It looks incredible! I'm wondering what the results would be in terms of
> rendering times if you used a mesh instead of an isosurface. I know
> there's an
> external utitlity to replace parametric objects with meshes. I can't
> recall if
> there's also one for isosurfaces.
>
> Of course, the typical parametric curve tends to be much smoother than the
> object you've created here. Not sure if this is the ideal application for
> meshes.
Well theoretically it would be quicker, it depends how much detail you need.
If you want triangles that are about 2 pixels big in the finished image then
it probably isn't going to be much quicker, since you'd have to create
triangles for the back and lots of areas that are out of sight (because you
don't know what angle the mesh will be viewed from), so you'd still end up
sampling the shape about as many times as the isosurface does...
Though actually I'm probably way off with that... I was forgetting about all
the extra rays it traces for shadows and radiosity. e.g. Assuming you go
with a volumetric approach, something like a marching cubes algorithm, I
think that will sample the pattern much more efficiently since each point in
the grid of samples would only be accessed once... But then the question is
how slow is it to render a mesh of that complexity? And how much detail can
we use before pov runs out of memory? And more to the point, do I really
need it to render quickly when I have a quad processor machine at work
that's got nothing to do at the weekend? ;)
Of course, the heightfield I rendered is technically a mesh made from
sampling it, but that's not volumetric so the little round holes get
stretched into deep pits. It looks similar, and is a hell of a lot faster,
but it's not quite right.
--
Tek
http://evilsuperbrain.com
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Tek, that porous stone looks perfect! it catapults me straight to some
beach, in my imagination! I could even imagine to hear the sound of the
waves which made the stone porous, and the cry of seagulls. I can even smell
the salty air at the beach with the loud waves.
Missing: some of the little other things you see at the beaches. Maybe some
sea plant swept on the land, or some little tree branch which was also swept
back to the beach. Make the sky tropical blue (darker, still intensive), and
place maybe some palms very far in the background, just visible with their
tops. Maybe a pair of beach sandals someone left at the bottom of this rock.
Wonderful picture, one of the best works i have seen here, so far! You set a
milestone. Wow!
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |