Sky models can be instantiated directly using the factory
methods in SkyModelLibrary or by constructing
the underlying GroIMP classes.
Environment shader family:
// Preetham (1999) — moderately clear sky
Sky sky = SkyModelLibrary.createPreetham();
// or equivalently:
Sky sky2 = new Sky();
Preetham p = new Preetham();
p.setTurbidity(3.0f);
p.setSun(new Vector3d(0.30, 0.80, 0.40));
sky2.setShader(p);
// Hosek-Wilkie (2012) — adds ground albedo
Sky hw = SkyModelLibrary.createHosekWilkie();
((HosekWilkieSkyLight)hw.getShader()).setAlbedo(0.25f);
// Prague Sky Model (2021) — full spectral, requires dataset
Sky prague = SkyModelLibrary.createPrague();
((PragueSkyModelLight)prague.getShader()).setDatasetPath("/path/to/SkyModelDataset.dat");
Discrete light array family:
// Isotropic overcast sky SkyDome dome = SkyModelLibrary.createOvercast(); // Perez all-weather sky PerezSunSky perez = SkyModelLibrary.createPerez(); perez.setDHI(120.0); perez.setDNI(600.0); // CIE Standard Sky type 7 (partly cloudy) CIELighting cie = SkyModelLibrary.createCIE(); cie.setSkyType(7);