Selecting faces based on procedural texture?

Is there a possibility of using procedural texture as a selection for faces/vertices?

I’m trying different methods how to mimic something like a layers of sandstone. Think of pancakes stacked on top of each other. Just a very basic concept.

The goal is to have something good enough looking (while actually 3D, not just a texture) and being able to create this on a fly, as a procedural terrain feature.

I’ll appreciate any constructive feedback on this!

P.S. I have something fairly similar to the reference pictures below, but Blender keeps crashing when applying it to large scale meshes. Hence I’m back at square one, looking for a replacement.

Reference pics

Yes just plug into selection socket of setpos or separate geo and try…

1 Like

Just plugged into selection deletes everything.

No, that wont work, you cant pass from the material shader, but the procedural waves node will, make a highres grid.

Here’s a simple example

2024-07-16_153707

1 Like

Ah, yes. I see now. Thanks!

I struggle a little now with understanding how I can manipulate projection of that wave texture though. I’m trying to give it triplanar mapping from a certain angle. Not from UV map anymore.

Would anyone know how?

Then dont use the uv but the relevant axes as input values
Btw the example use the vertex position.

Can you explain how? I don’t understand it.

I doubt this will lead to the result you’re hoping for. But to give you something to start…
You cant simply take the normal as inputvector for a flat plane. That gives you the same vector everywhere on that plane. Beside that there is no triplanar mapping possible on a flat plane (xy). The idea of triplanar mapping is a blend of three texelfetches that are based on orthonormal projections The normal is used as blend factor for the three texelfetches not as sampling position. If you do this on a plane then 2 projections collapse.

So you have a 2d texture and pass in an to 2D projected 3dvector that is typically the worldposition, so

xz