You are here


  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Rate this item!

Texturewerke is texture creation tool for GIMP.

It has two operating modes - color adjustment and highpass filter. More information can be found at Khayyam development page

Color adjustment

Takes two (optionally masked) layers and tries to adjust the overall color of work layer (selected layer) with another (template layer). If either layer has masks, only the colors of visible areas are used to build color profile, (but still the whole layer is changed). Internally it works channel by channel by creating cumulative histograms of both layers and finding the best mapping function from one distribution to another. Optionally both layers can be (internally) blurred before adjustment. It may help or disturb the adjustment, depending on the actual distribution of values over channel.

Highpass filter

It removes low frequencies from image, making it suitable for texturing. Common uses of highpass filter are the creation of seamless texture, or removing shading gradient form uniformly coloured things like walls, whiteboards and so on.

Highpass filter has two submodes:

Blur - simply subtracts (gaussian) blurred image from the original (and adds back average). It is mostly useful for creating seamless textures, where you only want to keep relatively high frequencies. It does not support masking.

Polynome - find the best approximation of image by two-dimensional polynomic function of user specified degree (up to 4 in either direction) and substracts it from the original image (and adds back average). It supports masking - in that case only unmasked areas are used for approximation (but it is still applied to the whole layer). It is good for removing shading gradient from surfaces like walls, while ignoring certain details (like picture hanging on wall). Beware that higher order polynomes tend to oscillate heavily and thus you probably will not get desired result if the borders of the image are masked.

Original image:

After applying polynome filter:

GIMP Version: 
Code License: 


I see that this is c++ code and gimptool expects C code. So how can I compile it under linux?


gimptool --install-bin texturewerke

It worked in Ubuntu for me.

Best wishes, Lauris


Thanks for the plugin! It is nice and quick but does a poor job of histogram mapping for many images.

Take a look at my script:

It allows a number of different colour match options, including selecting different colourspaces for calculating the transfer function. Of course being scheme it is really slow. I'd love to see you implement these same options into your plugin!

Here is an example where my script can transfer the colour hue of an image quite well while your plugin ends up a bit psychedelic looking:

-Rob A>


I'll take a look at your script (and maybe try to write in in C++).
I originally write the plugin to help eliminate small differences in the coloring between the two photos of the same thing/surface (for creating 3D textures). So it is quite logical that it fails if the images are significantly different ;-)

Best wishes,

Subscribe to Comments for "Texturewerke"