[Opensim-users] 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-users
mailing list