mat.setTexture("DistortMap", assetManager.loadTexture("Textures/GlassRefracNorm.png"));
mat.setFloat("DistortX", 0.3f); //X-axis distortion strength.
mat.setFloat("DistortY", 0.3f); //Y-axis distortion strength.
mat.setFloat("TileDistortX", 0.25f); //Tile 0.25 times along the x-axis.
mat.setFloat("TileDistortY", 0.25f); //Tile 0.25 times along the y-axis.
guiNode.attachChild(geom);
As you can see we can achieve some pretty neat effects by adding a distortion map. Just like ColorMaps DistortionMaps can be tiled and offset.
You can modify the amount of distortion, as a percentage of the quad's width and height, using the DistortX and DistortY properties respectively.
This is the normal map, created with Blender, used to create the above distortion.
By default a texture map applied to the ColorMap property is not distorted by the DistortMap. If you'd like to distort the ColorMap along with the overall circle use: