Fake Stone Distribution over Surface Texture

Started by JimHT, June 30, 2008, 12:01:41 AM

Previous topic - Next topic

JimHT

I've got a problem - I don't believe it's worth posting an image, but here is the issue: I have a terrain shaded with layers of Surface shaders (grass, rock, etc.) I have at the bottom of the shader list a Fake Stone Shader. The stones look correct, textured, and everything the way I want them to look, but if I apply a distribution shader to the stones to limit the slope they can rest on, and the altitude they occur at, the grass texture overruns most of the rock surface texture  and most of the stones look like they have the grass growing over them instead of under them. I've turned off the Fractal Breakup in the Distribution shader, and I have the options "Blend by shader" and "Blend as Stone Density" checked in the Fake Stones shader options. The distribution is correct - the stones only lie on shallow slopes and don't reach to the top of the hills, but the texture is ruined. Without the distribution shader, the stones look correct, but they are everywhere.

Any idea what I am doing wrong?


Seth

did you try with a surface layer instead of a distribution layer ?

Kevin F

As Seth says, make a new surface layer and make a fake stones shader a child of it. Now you will have full control of height and slope of the stones.

JimHT

Just tried that - with technology preview 4 - same problem. The ground coloration ends up over top of the rock coloration.

[attachthumb=#]

Kevin F

#4
Quote from: JimHT on June 30, 2008, 12:01:41 AM
.... I have the options "Blend by shader" and "Blend as Stone Density" checked in the Fake Stones shader options.

well it works o.k.for me. (edit - here's a tgd)
so..
what are you blending (ie what's in the bend by shader box?)
and are you still using a distribution shader?

Matt

Hi Jim,

There are a lot of unknowns here. It would be helpful to see your .tgd to see exactly what's doing what.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

JimB

Could a larger than necessary Fuzzy Zone somewhere be bleeding the green into the stones?
Some bits and bobs
The Galileo Fallacy, 'Argumentum ad Galileus':
"They laughed at Galileo. They're laughing at me. Therefore I am the next Galileo."

Nope. Galileo was right for the simpler reason that he was right.

JimHT

#7
Quote from: Matt on June 30, 2008, 11:12:31 AM
Hi Jim,

There are a lot of unknowns here. It would be helpful to see your .tgd to see exactly what's doing what.

Matt


Ok, I'm including a picture here of what I am getting, and what I want it to give me. The second image uses an awful hack that puts the stones on one planet, and the grass on a second planet that has a displacement offset of 1 unit. The stones pop up through the slightly bigger planet, and the two textures don't interfer. I realize this isn't the right way to do it, but it was a work-around I hacked together. I'm including both .tgd files.

[attachthumb=#]

PS. A big thumbs up so far on the TP4 - been bashing away at it this morning with nary a crash in sight.

JimHT

Quote from: Kevin F on June 30, 2008, 10:56:09 AM
Quote from: JimHT on June 30, 2008, 12:01:41 AM
.... I have the options "Blend by shader" and "Blend as Stone Density" checked in the Fake Stones shader options.

well it works o.k.for me. (edit - here's a tgd)
so..
what are you blending (ie what's in the bend by shader box?)
and are you still using a distribution shader?

Your sample file fails to work the moment I turn the slope limits on. Turn that on, and grass texture ends up on top of the stones.

moodflow

#9
I'll take a quick look.  Hopefully we can figure this out.
http://www.moodflow.com
mood-inspiring images and music

Kevin F

Quote from: JimHT on June 30, 2008, 01:34:06 PM
Quote from: Kevin F on June 30, 2008, 10:56:09 AM
Quote from: JimHT on June 30, 2008, 12:01:41 AM
.... I have the options "Blend by shader" and "Blend as Stone Density" checked in the Fake Stones shader options.

well it works o.k.for me. (edit - here's a tgd)
so..
what are you blending (ie what's in the bend by shader box?)
and are you still using a distribution shader?

Your sample file fails to work the moment I turn the slope limits on. Turn that on, and grass texture ends up on top of the stones.

Yes, I get the same result with slope limits on , BUT only when final normal is selected. With terrain normal selected there's no problem.

JimHT

Quote from: Kevin F on June 30, 2008, 04:48:17 PM
Quote from: JimHT on June 30, 2008, 01:34:06 PM
Quote from: Kevin F on June 30, 2008, 10:56:09 AM
Quote from: JimHT on June 30, 2008, 12:01:41 AM
.... I have the options "Blend by shader" and "Blend as Stone Density" checked in the Fake Stones shader options.

well it works o.k.for me. (edit - here's a tgd)
so..
what are you blending (ie what's in the bend by shader box?)
and are you still using a distribution shader?

Your sample file fails to work the moment I turn the slope limits on. Turn that on, and grass texture ends up on top of the stones.

Yes, I get the same result with slope limits on , BUT only when final normal is selected. With terrain normal selected there's no problem.

That's it! Thank you. :)

moodflow

http://www.moodflow.com
mood-inspiring images and music

JimHT

Quote from: moodflow on June 30, 2008, 06:45:10 PM
Glad you got it figured out  8)

Darn it, spoke too soon. If there is any fuzzy zone at all in the slope limits, the rocks are "tinted" with the grass color. I'm thinking there is a subtle bug in the slope limits that affects the texturing of the rocks, where it should only affect the density of the rocks.

Matt

#14
To use "Terrain Normal" instead of "Final Normal" you will need to use a Surface Layer (with the colour set to white, drag the colour slider to 1) instead of a Distribution Shader. When I did this, your stones rendered as expected, without any unwanted green/grey blending.

I intend to add this option to the Distribution Shader in future.

File attached.

Matt
Just because milk is white doesn't mean that clouds are made of milk.