I'm not sure if this is off topic, sorry if it is.

I have two images, one edited, one not, I know for a fact that they used a couple of filters or something like that with no manual touch up with a brush, but I cant for the life of me recreate it

I've tried a combination of level and curve editing but the "shadows" (dark areas) on the edited image don't line up with the original images darker areas. The only real indictor of where the "shadows" should be is along where the purple and green highlights touch but I don't know how to create a effect that targets those areas.

CrazyBump, ShaderMap and Materialize are programs that that can convert a normal map (Original) to a bump/height map (Edited) but I'm still trying to workout a way to do something similar in a standard image editor like photoshop if possible.

Original: Original

Edited: Edited

  • 1
    Hi. I think you might have your labels backwards. The bottom one is the original. The top one is the result of using the Normal Map filter in GIMP. Normal Maps are used in 3D software such as Blender and game engines for creating 3D textures.
    – Billy Kerr
    Commented May 3 at 10:23
  • Yup that is one of the ways normal maps are made, however in this case the original blue image (normal map) was created by "baking" a high detailed 3D model down to a texture to help with performance, during this process the edited image (the bump/height map) is generally made as well but in this case it wasn't, so the filters where applied to the normal map (original) to make the missing bump map (edited) I'm now trying to work out how that effect was done so that I can replicate it Commented May 3 at 10:38
  • 1
    GIMP isn't 3D software and has no 3D capabilities. You can't turn a normal map back into it's original texture. It has no such functionality. You can certainly use a photograph of a texture to make bump and normal maps in GIMP, but going the other way is not really possible. You'd need to use 3D software to render it.
    – Billy Kerr
    Commented May 3 at 10:44
  • You could kind of fake it however. If you use the Colors > Desaturate > Mono Mixer, and move the sliders see example here
    – Billy Kerr
    Commented May 3 at 11:16

3 Answers 3


From what I can tell, looks like you want to convert a Normal Map to a Height/Displacement Map. As far as I know, there's no functionality to do this in GIMP, or even Photoshop.

Anyway, I found some software which might help you here. It's open source and free, called Materialize, by Bounding Box Software - for Windows only however. I have no affiliation with this software or the developers.

They describe it as "a stand alone tool for creating materials for use in games from images. You can create an entire material from a single image or import the textures you have and generate the textures you need."

It seems to be capable of converting a normal map to a height/displacement map (which is what your bottom image looks like).

Here's a screen shot. I loaded the normal map by hitting the "O" button in that section, and then clicked Create in the height map section, and tweaked the sliders.

enter image description hereclick to see larger

Here's the height map output

enter image description here

  • Actually, the user already mentioned Materialize. n_n
    – Rafael
    Commented May 4 at 14:52
  • @Rafael - oops, so they did. Ah well, never mind, I'll leave it here here if anybody needs it.
    – Billy Kerr
    Commented May 4 at 15:27

Its not possible to do this in with normal image editor functions. Because the normal map is the gradient of the depth map. Now since gradient is a partial derivate in 2 directions, you would have to antiderivative the signal. This means that you would need to sum up each row, and column, then solve the initial value problem and normalize the result.

Normal image editors generally don't have the computational space to do this, since they would need to have a intermediate result that would be true floating point with possible negative numbers before normalization. So the computation needs to be done in a plugin of somekind.


Looks like it's a bump map, generated from your original to speed up rendering a 3D model where the surface should have a material texture with depth. It's needed for example in computer games and 3D animations. The maps are included to the material files.

Programs, like Krita or GIMP have filters to generate the needed maps from BW images based on some common assumptions. The brightness level in your BW original presents the surface elevation in a way that I do not exactly know. The calculated colors in the map help to render the 3D shading fast in different light conditions. A 3D expert is needed to tell the details.

I opened your original in Krita and applied Phong Bump Map filter. It opened the next dialog, The settings are random, left from the previous opening the filter, so the map result is not the same as yours:

enter image description here


Making something resembling without a bump map filter is possible. A gradient map alone is not enough because the result should somehow take into the account 1) the image presents elevations as brightness and 2)the direction where the light comes from.

A fake version can be started by embossing the image. It fullfills the demands above. This is in an old version of Photoshop:

enter image description here

Stretch the grayscale with levels or curves to cover the full range from black to white:

enter image description here

The embossing, of course, is not needed, if your original grayscale image is not an elevation map, but a real photo which already has plausible light direction dependent brightness variations.

Find a good gradient to be mapped to the grayscale with Gradient Map:

enter image description here

The original can be used to modulate the brightness with blending mode Hard Light and reduced layer opacity:

enter image description here

This all, of course, is useless if a working 3D bump map is needed, but it can be a good enough fake for some other (=art) purpose.


In Photoshop one can use adjustment layers. Krita and Affinity Photo have them too (as adjustment masks) but GIMP doesn't have them. The gradient map could be as an adjustment layer for fine tuning the colors. I skipped it and try now to do a fixing make-up afterwards. In the next image the colorized version has blending mode overlay. The original in the bottom has blending mode normal. The curves layer affects to the brightness levels:

enter image description here

In the next image another adjustment layer on the top is used to make the purple less offensive:

enter image description here

As said above, better to use the gradient map as an adjustment layer.

  • Thanks a lot for answering, It is indeed a bump map, however I am mostly just using it as an example and I plan to do/work with something slightly different. I tried gimp's filter which wasn't the best, but I didn't know that Krita had one and it looks pretty good. I am however still curious to know if it can be done without using a filter specifically made for bump maps. Commented May 3 at 9:40
  • Wow that is like almost exactly what I was looking for, is it possible for one to adjust the "thickness" of the purple/pink parts? like how dark/light the colors need to be for the gradient to effect them. I'm not to clued up on this so it might already be a step in the example you provided. Commented May 3 at 10:51
  • I'm sorry, I completely misread and misunderstood the answer, I thought you where using the gradients as an example to demonstrate "shadows" so they could be seen easier, don't know why I thought that cause its obvious you where recreating the normal map. Commented May 4 at 8:41
  • You can delete an answer yourself, just hit "Delete" under your answer.
    – Billy Kerr
    Commented May 4 at 12:07
  • 1
    @user0303040 If you want to delete an answer, you can do so yourself by hitting [delete] underneath you answer. Please don't deface your answer. Also, mentioning moderators in an answer does not summon a mod. We only saw this because someone else flagged your answer.
    – PieBie
    Commented May 6 at 7:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.