POV-Ray : Newsgroups : povray.advanced-users : crackle solid question Server Time
1 Nov 2024 09:19:05 EDT (-0400)
  crackle solid question (Message 1 to 2 of 2)  
From: Tek
Subject: crackle solid question
Date: 8 Oct 2006 14:21:18
Message: <4529419e@news.povray.org>
Is there any way to regionally control the values chosen in the {crackle 
solid} pattern?

What I want to do is control an isosurface that is based on crackle, by 
modulating it by something like
{ crackle solid colour_map { [.5 rgb 0][.5 rgb 1] } }
So that each individual "object" in my isosurface either exists or doesnt.

The problem is, crackle solid is totally random, so I can't influence it to 
create a region of my objects.

By way of a specific example: I've made a popcorn isosurface, where each 
popcorn kernel is based on a lump in the crackle pattern. Normally to 
localise an effect like this I'd just ramp it down towards the edge, but 
this makes it look like the popcorn's shrinking and it doesn't make sense to 
have small levitating peices of popcorn floating at the top of a bucket 
full.

So what I want to do is have a crackle solid pattern where I can make it so 
all the solid crackle cells above a certain height are black, or something 
like that.

The only way I can see to do it is to write my own very lengthy version of 
the crackle pattern as a function and then create the corresponding solid 
pattern with the extra control that I desire. But can anyone see a better 
way to do it?

-- 
Tek
http://evilsuperbrain.com


Post a reply to this message

From: Tek
Subject: Re: crackle solid question
Date: 8 Oct 2006 14:26:08
Message: <452942c0$1@news.povray.org>
Okay I have one idea, that I still think is impossible, but it might help 
some of you understand what I'm trying to do.

Lets say I have a controlling function, like a gradient on y; what I want is 
for each cell in the crackle pattern to recieve 1 value sampled from that 
gradient. So essentially I want a pattern that I can use in a function that 
samples the controlling function (my gradient) at the middle of each cell 
and uses that value over the whole cell.

So it would look like crackle solid, but instead of random shades they would 
be chosen from a controlling function.

It is possible to write a function that samples a pattern at a different 
point like turbulence, but how can it know where center of the current cell 
is? (i.e. for any given point I need the location of the nearest crackle 
point, since crackle's based on randomly places points).

-- 
Tek
http://evilsuperbrain.com

"Tek" <tek### [at] evilsuperbraincom> wrote in message 
news:4529419e@news.povray.org...
> Is there any way to regionally control the values chosen in the {crackle 
> solid} pattern?
>
> What I want to do is control an isosurface that is based on crackle, by 
> modulating it by something like
> { crackle solid colour_map { [.5 rgb 0][.5 rgb 1] } }
> So that each individual "object" in my isosurface either exists or doesnt.
>
> The problem is, crackle solid is totally random, so I can't influence it 
> to create a region of my objects.
>
> By way of a specific example: I've made a popcorn isosurface, where each 
> popcorn kernel is based on a lump in the crackle pattern. Normally to 
> localise an effect like this I'd just ramp it down towards the edge, but 
> this makes it look like the popcorn's shrinking and it doesn't make sense 
> to have small levitating peices of popcorn floating at the top of a bucket 
> full.
>
> So what I want to do is have a crackle solid pattern where I can make it 
> so all the solid crackle cells above a certain height are black, or 
> something like that.
>
> The only way I can see to do it is to write my own very lengthy version of 
> the crackle pattern as a function and then create the corresponding solid 
> pattern with the extra control that I desire. But can anyone see a better 
> way to do it?
>
> -- 
> Tek
> http://evilsuperbrain.com
>
>


Post a reply to this message

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