Wednesday, September 9, 2009

GIMP: Displacement Water Reflection Tutorial (*Beginners*)

NOTE: This tutorial was taken in part from here. At the time, I had a little trouble sorting through those particular instructions on Flickr, so that inspired me to create the tutorial that follows below. However, Lucidlook had since created a more up-to-date tutorial (I am uncertain if he is the original author on Flickr) that can be found here. Although the steps shown below are the result of me hashing it out, I can't take credit for the original effect.

I'm a GIMP noob. Yeah, I admit it. Albeit, quickly becoming a hardcore GIMP'er and salivating over the upcoming release of version 2.8. Enough about that, let's get on with the tutorial... Let me first say, if you ever find yourself attempting a tutorial and you just "don't get it" as you're following along, or even worse - you download a script and have NO clue as to what to do with it, FRET NOT! Usually script authors will say something to the effect of "this script is based on a Photoshop tutorial, click link here..." If they do mention a tutorial, try to follow that tutorial as best you can - or  - check my sitemap on to see if I have covered it. I downloaded the Displacement Water .scm filter, followed the links offered by the author, and went over the instructions a few times. Not reading the instructions carefully makes a difference in whether you're going to succeed or fail in accomplishing the use of the script. That being said, because there was so much input on various links, it all got mixed and garbled in my mind, so I spent a few hours sorting it all out. If you don't have the Displacement Water script and want to follow along, follow the link to get it, but while you're at it, grab this mirror script by Saul Goode, too. The mirror script will save a ton of steps in doing the tutorial. Remember, this is the "noob version" of water displacement. The general purpose is to get everyone understanding how best to use it. Once you accomplish it, feel free to modify your colors or add new layer effects, etc.

The video:

(Best viewed in HD, full-screen, on YouTube)

The following image (found under Vignette script on the GIMP Registry) will be used in this tutorial, copy and paste it into GIMP:


If you haven't added the mirror-dup.scm script to GIMP, do it now. Once you refresh the scripts, you will find it under Filters/Map/Mirror on the menu bar.  You'll see this (use the same selections as shown):

You should now have an even vertically mirrored image of a frog:


Make a duplicate layer of the mirrored image.


It's time to make the water displacement map. Select Script-Fu/Map/Water Reflection map on the menu bar. You'll see the following (use the selections shown):

For my Polish friends...

Dla moich znajomych polskim: Czy próbowali za pomocą Google Translate na wychowawczy?

The original frog image was 500 x 380, so that is what x and y should be in the selections above. Remember this whenever you create new water reflections (X and Y are the width and height of your original image before you alter it). You should end up with a displacement map that looks like this:

You'll notice the name of this image is red.# and it is a separate image from your frog image. We'll be pasting this map into a new layer on the frog image.

My displacement script threw errors a few times, so if it throws an error for you, try it a few more times. If errors persist, leave a comment for the script author indicating what those errors are.  If you correctly identified the image width and height, you shouldn't have any problems.


You should have two layers on your mirrored frog image, add a new layer to the top. With the new layer highlighted, copy the displacement map (layer X) we just made and paste it into the new layer. Use the Move tool to move the displacement map over the bottom area of the mirrored image before you anchor the floating selection. When you're happy with the location, anchor the layer. Note the image below:

(TIP:  After you paste the displacement map into the new layer, you can use your arrow keys to move it sideways or up and down).


Add another new layer. Select the Rectangle Select tool. Select the bottom half of the picture with the displacement map.

Add a layer mask  (White - Full Opacity) to the new layer.

Select the Gradient tool using the default black & white gradient and drag a gradient from the halfway point to the bottom. Your layers should look like this:

Notice that there are links on the displacement map and the background copy? You need to do the same thing. All you are doing is linking the displacement map to the background copy so that when you finally map the water displacement, it will show the layers for the displacement map in the lists.

I didn't name my layers, which I should, and you should make a practice to name your layers as well.


Select and highlight the background copy layer just under the displacement map, and go to Filters/Map/Displace. Note the selections in the image below:

For small image reflections like this one, the only way to utilize an X displacement is to make your image selection area wider. Otherwise, you'll have to leave it at zero to avoid it leaving blank areas in your reflection area. (Check the preview when adding X displacement, you'll see what I mean). Y displacement is usually twice the displacement of X. We'll make an exception here. :)

To see the result of what the displacement achieved, click the eye on the displacement layer to off.


Adding color is fairly simple, just remember two things:  1) Create a selection for the lower half of the image when using colored gradients, and 2) the sky is the limit on color choices or blend effects.

Select and highlight the top most layer (with layer mask), link it to the displacement map and background copy, then select the bottom half of the image using the Rectangle Select tool, if it's not already selected.

Select the Gradient tool, and pick a darker emerald green color and a lighter shade of emerald green. See my color choices below:

Drag the Gradient tool down from the halfway point to the bottom. You can reduce the transparency, if needed. That's it, you're done!

The final product:



  1. awesome, nice tutorial

  2. Amazing , the fist pic looks original with no effects , really cool tutorial

  3. I was looking foward to learning this but, after the first step I am getting an error. If you are aware of it or can help me fix it that would be wonderful.

  4. What is the error? What version of GIMP are you using? Please give me the details of your error.

  5. Hello!
    Would you please help me!
    I got this error at the first step:
    Error while executing script-fu-mirror-dup:

    Error: Bad syntax of binding spec in let* : ((work-image) (new-layer) (orig-width) (orig-height))

    I'm using GIMP GIMP 2.6.7

  6. Thank you.
    I upgraded succesfully.
    But to be frank, I don't understand at all, your next advice. How do I found, those lines ???  *blushing*

    I was hard, but I finally made it!  Now I'll try to proceed with the instructions.
    Thanks, and big hug!! It's very kind of you to help me so much. :)

  8. Display as in drop down list.


  9. The texture map does not display even when linked in my situation.

  10.  Yes but for some reason it doesn't show up in the drop down menu even if its linked. I think it may be the way i pasted it i into the project

  11. displacement? where do I get that? I found the water reflection, but I dont have just displacement. I cant get to that window, also I using gimp 2.6.10, and I'm also receiving the same error with the mirror script

  12. sorry, first I had to thank you for your time doing this tuto, and I should have added the first error I got using the mirror, even though I added the new lines you gave us.
    Error while executing script-fu-mirror-dup:
    Error: Bad syntax of binding spec in let* : ((work-image) (new-layer) (orig-width) (orig-height))


  13. What a fun tutorial. I've tried it with several different pictures.

    Kind of cool that I can add a pond or lake to an image that has no water in it at all and it looks real.

    Thanks for the neat tutorial.


  14. One question. I get two layers when I run the water reflection map. - it's fun watching it build (: - and I wasn't clear which layer to use. I tried both and just picked the one I liked best.


  15. Mav that is a great tutorial. 
    I messed up for a while until I realized I was using the frog layer in the dropdowns instead of the frog-displacement.  Hey that worked.   Thank you again......

  16. sorry mav, forgot to put name in.  that is my reply above

  17. Thank you so much!!! I have been trying to figure out how to do this forever!

  18. Many thanks. I'm just new in Gimp and in Linux but this tutorial is helping me a lot. Congratulations for yours explanations

  19. I feel a little silly, but I'm losing you between step 5 and step 6.  When I do the layer mask in a separate layer, nothing happens.  I locked them (or linked them), and all the layers are still staying separate.  I have to add a layer to the actual water layer, and then merge the layers together to get any kind of effect or color.  The water layer is staying black and white and not overlaying or merging with the background layer unless I select a layer mode.  Where am I going wrong?  Could it be I'm using Windows?

  20. Oh my goodness, THANK YOU!  That made a huge difference.  *grin*  I did it, yay!  :-)  I couldn't figure out where I was going wrong, and when you got to step five and six in the video I saw.  Thank you so much!

  21. Great tutorial. I am fairly new to gimp and been looking for a good water/mirror tutorial. All of your instructions came out fine. The only problem I had was withthe opacity in the last step with the emarald green. You have yours set to 100. When I sat mine to 100 the image turned green. I had to set the opacity down to 17 in order to achieve the same results. Thanks. It was fun

  22. The opacity level you're seeing in the Gradient Toolbox is always set to 100%. I change opacity levels on the layers, never on the toolbox menu. If you notice, the top image under Step 7 shows the layers dialog, and the opacity for the layer is about 65%. This is where I fine tune opacity.

  23. Mahvelous Mahvin, Thanks for guiding me here. Yes, I prefer reading written material instead of watching voiceless videos. :)...


If you intend to comment to complain about being unable to perform certain steps with tutorials, please explain where you are in the step process and what step you are unable to get to work correctly, instead of saying something like, "I can't do this!". Your comments will help get tutorial corrections made and help give clarification to future viewers who may have trouble in the same locations. Thank you. :)