PDA

View Full Version : How to blend surfaces

 kangonto08-08-2004, 10:20 PMGiven two detailed surfaces, each one with several layers, is there any way to create another surface which is a blend of both depending on a 8bit map (like a transparency map) ? For example: I have a grass surface and want some sand patches. It would be nice if could define the patches by the use of a 8 bit map, meaning that absolute white values are grass and absolute black values are sand (or the opposite). Intermediate values defines degress of dominancy for both textures. I hope i'm explaining well. I think i had heard of the existence of a plugin which does just that, but i haven't found anything related to it in flay.com. Please help. Thanks.
rickycox
08-09-2004, 12:52 AM
Check these tuts

http://www.andynicholas.com/thezone/index.php?area=showitem&fromarea=art&article=1
http://koti.mbnet.fi/anttij77/Tutorials/Sininenplaneetta_Tutorials_Main.htm
http://www.cgarchitect.com/resources/tutorials/smoke3d/tutorial6.asp

kangonto
08-09-2004, 11:28 AM
Thanks riki

Those tutorials are really nice but it's not exactly what i'm looking for.

Fortunately i have found the solution, though is a bit cumbersome.

I'll try to explain.

We have a grass surface with several layers (a bit simplified):

P:Fractal Noise
P:Fractal Noise
P:Fractal Noise
P:Fractal Noise
I:Grass.jpg

and a sand surface with some other layers:

P:Turbulence
P:Fractal Noise
I:Sand.jpg

A blend of both surfaces could be something like this:

P:Turbulence
P:Fractal Noise
I:Sand.jpg
P:Fractal Noise
P:Fractal Noise
P:Fractal Noise
P:Fractal Noise
I:Grass.jpg

But as you could imagine the I:Sand.jpg layer will replace completely replace the layers below. So, if we want some patches of sand spilled on the grass, we'll have to create a new layer which acts as an alpha channel for I:Sand.jpg. Let's name it I:Alpha.jpg. Adding a layer with alpha blending means than the layer below will use the actual layer as an alpha map. Ok, this works for the I:Sand.jpg layer but we need it to work also for the rest of the layers, so we will add an alpha blended layer (the same I:Alpha.jpg) for each one of the layers which we don't want to cover the grass layers.

The resultant surface:

I:Alpha.jpg (with alpha blending)
P:Turbulence
I:Alpha.jpg (with alpha blending)
P:Fractal Noise
I:Alpha.jpg (with alpha blending)
I:Sand.jpg
P:Fractal Noise
P:Fractal Noise
P:Fractal Noise
P:Fractal Noise
I:Grass.jpg

Well, a little strange but it works :)

Anybody knows another smarter method ? I haven't deeply tested it, but i guess that so many extra layers could raise render times a bit.

It could be a nice addition to Lightwave the possibility to group layers and apply alpha map to those groups.

Flashfire
08-09-2004, 12:11 PM