private float ggx(float NoH, float alpha) {
        // use GGX / Trowbridge-Reitz, same as Disney and Unreal 4
        // cf http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf p3
        float tmp = alpha / (NoH * NoH * (alpha * alpha - 1.0f) + 1.0f);
        return tmp * tmp * (1f / FastMath.PI);
    }
Generates the prefiltered env map (used for image based specular
lighting) With the GGX/Schlick brdf
{@link EnvMapUtils#getSphericalHarmonicsCoefficents(com.jme3.texture.TextureCubeMap)}
Note that the output cube map is in RGBA8 format.

@param sourceEnvMap
@param targetMapSize  the size of the irradiance map to generate
@param store
@param fixSeamsMethod the method to fix seams
@return The irradiance cube map for the given coefficients
jme3-core/src/main/java/com/jme3/environment/generation/PrefilteredEnvMapFaceGenerator.java