Regarding your query,
I would not complicate the photo panel for current users but I could study its feasibility for tests.What would be nice, though, is to have some more control over the brightness
– a slider maybe, or some pre-programmed steps with different intensities.
Here is how is managed the lighting of the sky and the sun for the SH3D standard photo panel.
Code: Select all
if (!this.useSunSky) {
// If observer camera is used with a sky texture,
// create an image base light from sky texture
...
this.sunflow.parameter("samples", 0);
this.sunflow.light(UUID.randomUUID().toString(), "ibl");
}
...
if (this.useSunSky) {
...
this.sunflow.parameter("samples", this.useSunskyLight ? 12 : 0);
this.sunSkyLightName = UUID.randomUUID().toString();
this.sunflow.light(this.sunSkyLightName, "sunsky");
}
...
// Simulate additional Sun with a faraway sphere light of a color depending of the hour of the day
int sunPower = this.useSunskyLight ? 10 : 40;
...
this.sunflow.parameter("samples", 4);
this.sunLightName = UUID.randomUUID().toString();
this.sunflow.light(this.sunLightName, "sphere");Code: Select all
if (!this.useSunSky) {
// If observer camera is used with a sky texture,
// create an image base light from sky texture
...
this.sunflow.parameter("samples", AdvancedPhotoPanel.isEnhancedExternalBrightness() ? 12 : 0); // modification (enkonyito)
this.sunflow.light(UUID.randomUUID().toString(), "ibl");
}
...
if (this.useSunSky) {
...
this.sunflow.parameter("samples", AdvancedPhotoPanel.isEnhancedExternalBrightness() ? 12 : 0); // modification (enkonyito)
this.sunSkyLightName = UUID.randomUUID().toString();
this.sunflow.light(this.sunSkyLightName, "sunsky");
}
...
// Simulate additional Sun with a faraway sphere light of a color depending of the hour of the day
int sunPower = !this.useSunSky ? 40 // sky with texture and virtual visit
: // sky without texture or aerial view
AdvancedPhotoPanel.isEnhancedExternalBrightness() ?
20 : 40; // modification (enkonyito)
...
this.sunflow.parameter("samples", 4);
this.sunLightName = UUID.randomUUID().toString();
this.sunflow.light(this.sunLightName, "sphere");