NeoTextureEdit (http://neotextureedit.sourceforge.net/) is a free software (LGPL) Java tool to create procedural and seamless textures with a node based system. It's weird too use, sometimes super slow, lacks documentation and the examples are not that good. This page tries to help a bit.
Note: A Blender method was found to do a similar seamless texture creation using Blender. That may be better as using NeoTextureEdit considering its flaws: Creating Seamless Procedural Textures with Blender
Note: NeoTextureEdit has a bug with loading project files (at least for me). Sometimes it can't be started unless the settings file "TextureEditorSettings" is deleted. Also it doesn't seem to be able to load it's project files properly. The files seem to contain all nodes with all settings but it just load one or two nodes.
Program Explanation Edit
You can move the node view with the middle mouse button and create new nodes with the right click menu.
The OpenGL preview area in the lower left can preview diffuse, normal, specular and parallax mapping. Urho3D doesn'T come with a parallax mapping shader, so you may want to disable the parallax mapping feature by setting the "POM Strength" to 0. Which node is used int the preview for which kind of mapping is shown by the blue D, N, S or H at the right side of the node (see second screenshot below).
Example Usage Edit
This example is based on the cobblestone sample shipped with NeoTextureEdit , but improved:
The shipped examples are often using the "FilterEmboss"-Node which is simulating light fall on the material, which seems to be similar to the "Bump Map"-filter in GIMP (Filters->Map->Bump Map). Such an effect is weird to use to create textures as a bump or normal map should be dynamically rendered in the game (if you use normal mapping) using the textures and should not be prerendered into the textures.
The "Blur"-node (the red one, I guess it's red because it's making the calculation sometimes super slow) is used to make the transition between the stone tiles and the gap between them softer. The normal map calculation gives really bad results without this blurring. You can also blur the calculated normal map image afterwards using other tools like Gimp. A slight blur with a radius of 1 or 2 is usually enough.
In this example It would make more sense to get the second input of the "Mask"-Node marked with the blue D from the "Blend"-node directly next to the "Normal Map"-node marked with the blue N, as that output is also used to generate the normal map. It was an oversight at first but also avoids using the sometimes super slow "Blur"-node when generating the diffuse map image (that blur takes like an hour on my machine for the material shown here). Would be better to not use the blur at all and blur at least the normal map later with another tool like GIMP, the red channel needs to be inverted anyway for the normal map (see next area).
There is also a plugin for GIMP to create a normal map out of a height map: https://code.google.com/p/gimp-normalmap/ Maybe it's better to export a height map, blur that and create a normal map in GIMP, not sure if blurring a normal map has really no downside.
Fixing the Normal Map Edit
The "Normal Map"-Node in NeoTextureEdit has the red channel inverted compared to the Urho shaders.
Method 1: Use a Math-Node in NeoTextureEdit to invert the red channel of the normal map (the math node is selected, see right side for settings):
Method 2: You can also fix this with custom shaders that interpret the red channel differently.
Method 3: Or by inverting the red channel of the generated normal map image like this in GIMP:Go to "Colors->Curves" and select the red channel:Move the point in the lower left corner to the top left and the point at the top right corner to the lower right corner and you are done:
Texture Gallery Edit
Wood planks, based on the "Wood" sample: diffuse map normal map specular map Urho material file (project file lost due to crashes)
Here the normal map was not just fixed (the red channel issue) but also blurred with a radius of 2 because the normal map was weirdly chaotic at the slopes.