Procedural realistic sand dunes?


I’m trying to create realistic procedural sand dunes, this is the result i got so far and i’m not happy with it, anyone knows better way any suggestion would be appreciated.


I think you’re making it far, far more complex than it needs to be.

Use a few fractal 3D materials, link them together to create a complex fractal, and then add several colors to the mix…


I did the one at the bottom here:

which is a little less dune like but similar. I think you need some noise and facing ratio stuff to give it a less flat velvet feel. I based my shader network heavily on this:


thanks Dark for your reply, i tried first with fractal but i couldn’t get tiny sub dunes look :((


thanks dave, actualy this was the same exact tutorial i was trying to apply in Maya but i couldn’t get this result :frowning: also i don’t see any effect for the facing ratio in my render i think connected it in wrong way, I’m not very filmier with it anyway

anyway we can apply this same tutorial in Maya?


well I have an empty blog on Tumblr that needs posts so when I get home from the café, I’ll post a breakdown of my Maya shader and post a link. The network uses the mix20layer utility from here:

but I should be able to do it with a standard layered shader. I want to make it plug-in free since I switched V-Ray for this type of procedural stuff. It has a layered shader but I’ll avoid it for this.


WOW that would be great Dave, thank you so much )) I’m waiting for it


so here’s a quick render of a dune I whipped together in Mudbox and then rejigged my layered shader for V-Ray:

The colour needs work but the powderyness and stippled masking / facing ratio works alright. I’ll post a little write-up and send the link later. Might be the morning.

edit: here’s a less eye-bleed inducing render:


thank you Dave, i appreciate your feedback, is there anymore? if not will you please post a snapshot for the shading network? what you are using for the tiny small waves?

also thanks for the link its useful

I’m relay frustrated why this is so hard to make in Maya while it was simple in max, I’m i missing something??

anybody please suggest …what Maya texture could give this first and second pattern?


I think is not hard to create in maya then max, in fact, exist a tutorial for max, only this, in maya not tutorial for good rappresentation but it’s not hard to create it in maya.
Mib_color mix for mixing the bump two ocean texture with big and small noise wave some tweaking on parameters and only knowledge of parameters, only this. Sampler info on texture ramp and render, for the semibig wave displacement and for small bump.


hey dario thank you for your input, why i didn’t think of using the ocean shader, thanks, could you please post the facing ratio connections and describe the effect it give? I’m not familiar with it but i try to find out right away


here’s a snapshot of the sampler info connection to the ramp and the network:

It’s pretty simple. Use two ramps, both facing ratio and one going from dark to light and the other light to dark:

Put the ramps into two different material colour slots that have very low glossiness and maybe a bit of Oren-Nayer roughness to give it a “powdery dust” feel. One of them here:

Mask the blend between the two lamberts with mix20layer or mib color mix (or VRay blend in my case) with a noise texture. Add a different noise to the overall bump to give it variety. I used wispy noise since it looks most like blown sand:

end result:


thanks you i appreciate your input, i will check it now, i don’t completely understand the effect of the sampler info ( I’m reading about it online) but i will apply what u did and see,

-as I’m thinking this sampler info could help in positioning a specific pattern in one side of the dune while the other side has different pattern??, example below, each side of the dune has different pattern of displacement, I’m i correct? or maybe we better use ramp here?

excuse me for i never used the sampler info before


the sampler info facing ratio uses the face angle and maps a colour value from the ramp. It’s used for faking velvet - that’s where the mixed soft scattered light feeling comes from with sand. Mixing two with noise just makes it feel like there’s a lot of little rocks.

I think your image is starting to look really good but I would smooth out your mesh - it looks very hard and not wind-blown enough. Also, reduce the contrast of the shadows. You want to get the feeling like there’s a lot of light scattering from the environment and sand - dark shadows removes that feeling.


Looking in to this images


Thanks Dave, i start understanding what the sampler info can do, i will start making new dunes after i finish studying it , actually that image was photograph i wish it was my render :)) maybe it look a little cg like, i will post my image after i finish, now i will start using the ocean shader to drive the displacement and maybe find other extra usage of the sampler info


haha- I criticized the photograph and said it didn’t look realistic enough. I guess I just have a particular idea of Arabian desert in my head that looks smoother. If you’re going for Nevada desert, I guess it will look less smooth. I was sort of thinking something like this:


cool Dario, thanks, i will see what i can do and i hope till tomorrow i will come up with realistic dunes, its a little bit confusing for me cause i need the dunes to work for close and far shots, i’m not sure exactly if this is should be the same surface or i will hae to use defferent one, one early render i did worked kind of ok for close shot if i can say, but not from other angles( image below), the displacement here was driven from real sand/dune textures, also i couldn’t increase the subdivision value to smooth it more my memory couldn’t handle, thats why i want to make it procedural now


yes that happens :smiley: ,the picture in your link is what i need for my close shot and maybe some dunes around yes I’m after the Arabian desert look


one thing I forgot to mention: make sure to tile your noise textures or you will end up with a splotchy thing that won’t look right. you can either set the repeat value in the repeat UV setting of the place2Dtexture node or just scale up your UVs in the UV Editor until you get something good.