[Opensim-dev] UglySky work branch

Leal Duarte ajlduarte at sapo.pt
Tue Jun 30 11:37:31 UTC 2020


"uglysky" is a branch of  the OpenSim 0.9.2.0 dev code that should 
provide some support for different region environment mechanism that new 
viewers for OpenSimulator (OpenSim) will have. This viewers replaced 
Windlight by the so called EEP (Environmental Enhancement Project) code, 
basically a modified Windlight, with a few new features and different 
low level rendering.

Up until uglysky work, the OpenSim environment had two basically 
independent environment handling mechanisms: Lightshare (LS) and 
Windlight (WL).

Windlight was just a blind storage of what was sent by a viewer to the 
server when applying an environment on its UI. This storage had no 
relation to the Lightshare one, and was just sent back to viewers for 
users on arrival to a region. Most viewers could not display WL changes 
made after arrival.

LightShare, only manipulated by scripts, was also sent to viewers at 
login, in a independent way using its own lludp protocol. Viewers 
supporting that protocol could see and update to changes made by a 
script at anytime. Using LS and a viewer's WL UI together could be 
confusing. This was due to history. Lighshare was introduced when a 
viewer's environment was only local and the capability was never updated 
when they started sharing region WL settings.

In addition there was a server side Sun module, that did ...something 
... It was mostly only valid for very old viewers.

On uglysky the internal representation of the region environment was 
unified, with the parameters and structure more suitable for the new 
viewers (i.e. the so called EEP viewers). Viewers only get the 
environment using a new protocol, or a subset of it using WL protocol. 
Sun module was removed. LightShare (LS) scripts only create the simple 
subset of EEP environments they have an effect on. LS lludp protocol was 
removed.

When a script changes LS settings or WL settings are changed by a user, 
new EEP capable viewers will see the change. Older WL viewers that could 
already see WL changes (Firestorm for example) will also see them, 
others will not.

Same applies for parcel crossings. The environment change will be sent, 
some WL viewers will see it (so also providing per parcel environment 
capability), others will not. And the same applies to the new OSSL per 
avatar forced environment (if user is using region environment).

Several new settings can only be set with a new EEP capable viewer, like 
day length, day offset, altitudes or parcel environment.

Unless a region is to be used only with new EEP capable viewers, some 
restrictions are recommended to continue to support WL only viewers:

     - keep day cycle as 4 hours (default - some viewers may have it 
hardcoded)
     - keep day offset -8 hours (default - some viewers may have 
something hardcoded)
     - use only altitude zero (there are no altitudes on WL)
     - use only one "track" on water (WL water was not part of the day 
cycle)

WL viewers can change the region environment by applying water and fixed 
or day cycle. This will be converted to new region data, using defaults 
for other the settings WL does not have. Note that estate sun, fixed sun 
and sun hour are gone (false, false, 0 now). Those are now defined by 
the selected day cycle.

Day and night duration:

WL viewers used a non-linear sun time, so nights ran faster than days 
with a day/night relation of about 3 to 1. New viewers do not do that, 
neither will older WL viewers on uglysky regions.

This may mean that when using a WL XML saved setting to apply an 
environment or using a new EEP capable viewer to import a WL setting, 
the day/night relation will be 1 to 1, if that was defined on the XML 
source. Regions importing WL XML saved settings from WL viewers could 
deform the day cycle timing. But new EEP viewer import does not.

In the uglysky OpenSim library you should find a 1 to 1 "default" day 
cycle and a modified 3 to 1 day cycle (the default used by regions).

The viewer devs made a great effort to try to keep thinks looking the 
same as before, with similar parameters, but one should expect some 
differences. One case in fact is not even on the rendering engine, but 
on parameters validation, that does seem incorrect. Hopefully they will 
fix it.

This work branch will be part of main dev code soon.

Regards,

Ubit



More information about the Opensim-dev mailing list