Making a circle decal on ground

I have tried both shader-based and geometry-based approaches, both on uneven terrain :

[how to make these kind shodow?)