4.2. In XL / RGG scripts

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);