I've been a bit annoyed by how "feathered" the output of the Dirt node (which I otherwise like).
No matter what I've tried (like Gradient with Constant interpolation) I can't get a sharp result.
Today I wrote a OSL script that limits output to two possible values (0 or 1):
Code: Select all
if (Value < Limit) {
return 0;
} else {
return 1;
}
This works fine for any texture (procedural or image, including Vertex Color) I've tried, except for the Dirt node, where the result still has "feathering".
This is not logical (like Boolean logic..): The result can't/shouldn't have any other values than 0 or 1!
Then I thought that maybe the output of the Dirt node is a "low res" and gets scaled up. But when I tried with a 16x16 image texture (a gradient) I could still get a sharp edge.
(It might still be true, it could be scaled after the processing...)
Is there any other way around this?
(Other than using a baked texture)
Why is this an issue?
Because:
1. It's not consistent with other textures.
2. It limits the choices for the artists.
3. Dirt (and rust) does have sharp edges.