Tutorial: Using EEP for reflective floors

With EEP, it is now possible to have reflective floors at the parcel level that everyone can see, and contained within the parcel

Within Second Life there have been numerous ways to produce reflective floors within buildings – the most popular being to build a near-duplicate of what is in a room / building and inverting it “below” a textured, semi-transparent floor, allowing the duplicate to act as a reflection.

It’s a clever means of achieving the idea of reflections in polished floors, and has the advantage of being relatively “efficient” performance-wise (if a little hard on land impact, depending on the degree to which a person goes with the “reflected” items under the floor), as it means re-use of loaded textures and avoids rendering avatar reflections and mirroring movement. Although that said, the fact that the technique doesn’t show avatar reflections can spoil the effect.

Nitroglobus Roof Gallery provides an excellent demonstration of using a duplicate build to create the illusion of a reflective floor (although note the lack of any avatar shadow)

As has long been known, Linden Water can also be used as a means of producing reflective floorsthat can reflect avatars as well as objects. However, under Windlight, it has tended to suffer from a couple of observable weaknesses: if applied at the region level, it meant all water viewed from the region with produce the mirror effect – which could be a problem when outdoors (e.g. a mirror-flat surrounding sea); while to use it at parcel level meant using a viewer that accepted viewer-side parcel Windlight support – so anyone not using such a viewer would see a building / room with “flooded” floors.

EPP, with its simulator support for for parcel-level environment settings, means that is now possible to use Linden Water to create reflective floor effects within ground-level building that can more easily been seen by anyone entering the building, regardless of the viewer they are using. There are some pre-requisites involved, both it terms of creating the effect and viewing it, but even so, it is relatively easy to implement for anyone who wishes to do so.

Those prerequisites are:

  • As the approach uses Linden Water, it can only bee used at ground level (and on ground-level rooms of such buildings).
  • Some skill with terraforming is required, in particular:
    • Lowering / levelling land – this is important as the “reflective” floors must be at water level.
    • Ability to sub-divide land into parcel – this is particularly important if there is Linden Water is visible from outside the building with reflective floors, as you’ll be making changes to how Linden Water appears.
  • For parcels, you’ll need to have permission to set the environment at parcel level – if you do not own the region, and parcel level EEP support has been disabled via the region level controls, you will have to discuss the matter with the region holder / owner.
  • Those visiting the building must have Preferences → Graphics → Water Reflections set to All Avatars and Objects or Everything in order to see the water reflecting everything, including avatars.

The approach works best with your own builds, but can be used with pre-fab builds if they are modifiable, and can have floors modifed / replaced.

1 Prepare Your Land and Building

The first thing you need to do, is determine the shape of the floor space you wish to has as a reflective space and prepare the part of your land where it is to go.

  • Make a simple prim template of the shape of the room / building.
  • Place the template on your land where the room is to be positioned.
  • Keep in mind that depending on your location, you may want to sub-divide your land (if you have the necessary permission) so you can see natural-looking Linden Water when outside your house.
  • Use the terrafrorming tools in the Build / Edit floater to carefully lower the land under the template to expose the Linden Water.
  • Note that the “reflective floor” will, when the work is finished, need to sit just below the level of Linden Water. This means you may have to set it lower than the floors in other rooms on the ground floor of the building, or have the building itself surrounded by a mesh / prim surround to blend it with the ground level.
  • When you’re set, position the building and if necessary sub-divide your parcel.
  • Edit the building and:
    • Sset each of the floors you wish to be reflective to around 80% transparent – note that you may have to experiment with this setting, depending on the floor texture you use.
    • Apply a suitable texture for the reflective floor(s) (e.g. a wood texture for a polished wooden floor, or a marble effect for a public building).

2. Set the Water Environment

As noted above, you’ll need a suitable normal map to replace the one used for Linden Water.

  • The easiest way to do this is to use the Mirror Water environment asset that is included in the viewer under Library → Environments → Water.
  • You will need to copy this asset from its default Library location to your inventory (e.g. to the Settings folder – or a sub-folder within Settings, if you organise your EEP assets in sub-folders).
You can use the Mirror Water environment asset to help create your reflective floor. Make sure you copy it (e.g. via drag-and-drop) to your Settings folder
  • With the Mirror Water environment asset copied to your inventory, double-click on it to edit it. This will open the Fixed Environment – Water panel.
  • Within the panel, make the following changes (see the image below for reference):
    1. Set the water fog colour to white (note that depending on things like ambient lighting, the floor texture you use, etc., you may need to adjust this towards a more grey colour).
    2. Set all of the following to 0.0:
      • Fog Density Exponent and Underwater Multiplier.
      • Fresnel Scale.
      • X, Y, Z Reflection Wavelet Scale.
      • Large and Small Wave Speed.
      • Refraction Scale (Above) and (Below).
    3. Set Fresnel Offset to 0.50 (note that depending on things like ambient lighting, the floor texture you use, etc., you may want to adjust this up or down).
    4. Set Blur Multiplier to 0.80 (note that depending on things like ambient lighting, the floor texture you use, etc., you may want to adjust this up or down).
    5. From the Save / Apply Drop-down, select Save As and save your updated environment asset under a new name (e.g. “Reflective Floor”).
Adjusting the water settings for a reflective floor effect
  • Once saved, Select Apply to Parcel from the Save / Apply drop down to apply the environment to the parcel.

3. See How It Looks / Fine Tuning

You should now have a nicely reflective floor to your building, as shown below.

The finished product again, as per the banner image, note the avatar reflection and well as the reflections of in-world objects (1), and also the use of steps to access the low-set floor of the gallery from the outside “ground level” (2)

What’s more, if the building is sitting within its own parcel, when you leave the building, any visible Linden Water should look like natural water  / waves (although if you cam into the building or glimpse the “reflective floor” from outside of the parcel, it might look a trifle odd until you actually enter the parcel).

You might find that some additional “fine tuning” of the build is required to achieve a perfect result. If you’ve placed your floor a little above the level of Linden Water, for example, you may find your avatar “floats” over its reflection (below left), or if the floor is set a little too far below the level of Linden Water, the avatar and reflection may appear to “merge” at feet / ankles. But errors can be corrected with careful adjustment of your floor either down or up.

You may have to adjust the floor level relative to the Linden Water level to prevent avatar reflections giving the impression avatars are floating above the floor (l) – or standing with feet embedded in it – and actually standing on the floor (r).

Conclusion

There are still some limitations on the effectiveness of this approach: as noted above, it can only be used for ground-level interiors, and the effect does require visitors to have their graphics preferences set to reflect avatars in Linden Water. However, once set-up, it can add a certain edge to places like stores and galleries.

I’m not sure how much of a performance hit would occur in viewers trying to render a lot of avatars and their moving reflections in a ballroom or other dance venue, so these might require greater consideration. But if you do want to have a different ground-level flooring for your building, and you can meet the prerequisites noted above, it might well be worth giving it a go.

Lab Gab 23 summary: meet the EEP team!

via Linden Lab

The 23rd edition of Lab Gab live streamed on Friday, April 24, featuring Rider Linden, Ptolemy Linden and Euclid Linden, who between them form the core team behind the Environment Enhancement Project (EEP), officially released by Linden Lab on Monday, April 20th.

The official video of the segment is available via You Tube, and is embedded at the end of this article. The following is a summary of the key topics discussed and responses to questions asked.

Rider Linden is a Senior Software Engineer who has been with Linden Lab for just over five years – although his familiarity with Second Life goes back beyond that, as he is one of the many personnel LL have recruited from the ranks of Second Life users. He was responsible for initially defining the EEP project. He then went on to develop the viewer controls for EEP, taking considerable feedback from users along the way, as well as working with the rendering team during the project’s development. More recently, he has transitioned over the the simulator team, working on that side of the SL and routinely attending the Simulator User Group meetings.

Ptolemy Linden and Euclid Linden are more recent hires at the Lab, both are working on the rendering side of Second Life. Both have been Lindens for around 6-7 months, and have really cut their teeth as Lindens whilst working on EEP. Neither was a resident prior to joining the Lab, and both are now looking forward to tackling more graphics-related work within the viewer.

Euclid, Rider and Ptolemy Linden will be joined Strawberry Linden to discuss EEP

What Is EEP?

EEP is a set of environmental enhancements for Second Life that supersede th use of Windlight XML files. The primary aim of the project was to make lighting / atmospheric / water environments easier to create and use within Second Life and extend the ability to customise them to the parcel level. In brief EEP:

  • Uses environment objects that you can keep in your inventory and / or share with others – including selling (subject to the SL permissions system) via in-world stores and on the Marketplace.
  • Provides parcel-level control of environments.
  • Allows up to four different, independently controlled sky layers.
  • Allows custom textures for the Sun, Moon and clouds.
  • Provides an extended day cycle of up to 168 hours (thus allowing a 7-day, 24-hour day / night cycle to be defined, for example).
  • Means that as environments settings are simulator-side, and so by default are automatically seen by anyone using any EEP enabled viewer on entering the region / estate / parcel.
  • Still allows the use of “personal” settings seen only be the use applying them, for the purposes of photography, machinima, etc.
  • Provides additional LSL controls for environments.

EEP Q&A

Unresolved Issues

EEP was promoted to release status with 75 issues on the viewer listed as “unresolved” (viewer version 6.4.0.540188). Will LL continue to work to resolve these?

  • LL was focused on clearing what were considered to be major / severe issues with the system before releasing.
  • Remaining issues are viewed as annoyance / edge cases rather than things that prevent EEP from being used. These will be cleared up as time allows, but not within what might be considered a dedicated EEP project at this point in time.
  • The exception to this will be any issue which proves to be a continuing problem for users in trying to use EEP, and which becomes a source of widespread forum complaint and / or the subject of bug reports.

Can the EEP UI Elements be Reduced in Size?

Several of the EEP UI elements take up a lot of screen real estate. Can these be reduced in size in future viewers / altered so that they can be resized by users?

  • There is a wider project at the Lab to revisit a lot of the viewer UI.
  • The EEP UI elements will like fall under this work.

Can EEP Settings be Applied via a Drop-down List, Rather than Attached?

  • No, as they are contained in inventory assets.
  • However, there is another broader than EEP project to look at inventory in general, and providing the means for users to preview EEP items which may, as it matures, help.

Does EEP Affect Teleports / Region Crossings?

(Asked as a result of the April 21st issues, which were not EEP related, but part of wider Internet issues within the United States).

  • Not at all.
  • The simulators have been supporting EEP for over a year thus far.
  • The additional data carried through  TP  / region crossing due to an applied EEP asset is minimal.
  • Transitions in EEP are handle very fast, and shouldn’t interfere with physical region crossings in vehicles [it has been noted at Simulator User Group meeting that if you are travelling fast enough to pass from region to region to region before EEP can fully transition from the first the the second environment, it will skip the second and go directly to rendering the third].

Further Information on EEP

Does EEP Work on TPVs?

  • As the code is adopted by them, yes.

Will In-World Objects Need Updating to Look Right Under EEP?

  • A lot of time has been spent by the Lab trying to ensure that EEP renders objects as closely as possible to how they look under Windlight.
  • It’s note entirely one-to-one in all situations, and there may be some subtle differences. However, the hope is that for the majority of objects, EEP shouldn’t present a significantly different look.
  • If there are significant breakages in how some object look, the request is for creators to raise a bug report JIRA on them (and provide a sample to the Lab, if possible / requested).

How Can EEP Settings / Object be Created? Can they be Sold?

  • EEP settings / assets can be created in inventory with EEP-enabled viewers and experimented with.
    • For EEP viewer, the Library includes a group of settings (Library → Environments) that can be copied to Inventory and then edited and experimented with / used.
Creating a new EEP asset via the + button (1) or via right-clicking on the Settings folder and the selecting the required asset type from the create menu > My Settings option (2)

Can I Use My Old Windlights with EEP?

  • Windlight settings cannot be used directly with EEP. Windlight used XML files external to the viewer; EEP uses settings contained with SL inventory assets.
  • Windlight settings can be imported into EEP however.
Use the Import button in the edit floater to open a file picker and select the windlight to be imported

Will There Be More Rendering / Graphics Improvements for SL?

  • Rendering enhancement are on-going (e.g. via the Love Me Render project, which periodically releases RC viewers with rendering updates and fixes).
  • Id there is something specific you would like to see, please raise a feature request for consideration.

WILL SL Ever Have A New Rendering Engine?

  • Second Life cannot really adopt a commercial rendering engine, as the platform is too highly adopted to the user-generated content in-world.
  • However, as noted, it is actively being worked on for improvements, and this includes removing legacy code where it is no longer required.
    • An example of this is the EEP viewer code removes the ability to turn off the basic shaders in the viewer.
  • There are certain imperatives that are driving some system changes related to the rendering engine – such as Apple discontinuing support for OpenGL.
  • Trying to re-engineer SL to use a commercial engine also simply doesn’t make sense, as it would mean “throwing away” all that has been developed so far and practically re-engineering SL from the ground up.

 

Environment Enhancement Project: a primer

The Environment Enhancement Project (EEP) is a set of environmental enhancements designed to replace windlight XML settings to control the water and sky environments seen in Second Life, and provides a wide range of additional / new capabilities for region holders, parcel holders and general users. It represents a fundamental shift in how environment settings are used and applied.

In brief EEP:

  • Uses environment objects that you can keep in your inventory and / or share with others.
  • Provides parcel-level control of environments.
  • Allows up to four different, independently controlled sky layers.
  • Allows the Sun, Moon and Cloud textures to be replaced with custom textures uploaded to the viewer.
Table of Contents
  • Provides an extended day cycle of up to 168 hours (thus allowing a 7-day, 24-hour day / night cycle to be defined, for example).
  • Allows users to override region / parcel settings as seen within their own viewer, by either attaching EEP settings to their avatar or through the Personal Lighting floater.
  • Provides new LSL functions to allow scripts to interact with parcel environments.
EEP allows you to have a little fun, if you wish. Credit: Bellimora

Many have already gained familiarity with EEP whilst it has been in development, using both the original project viewer and iterations of the release candidate viewer. However, given it is such a fundamental shift in how environment settings are created and used, I have attempted to break things down into more easily digestible pieces through the use of this EEP primer, and a more comprehensive EEP tutorial.

  • This primer is designed to provide an overview of the basic EEP capabilities and options from the point-of user of someone wishing to use them.
  • The EEP Tutorial is intended to provide a comprehensive breakdown of EEP capabilities, including how to create new EEP sky, water and day settings for personal use or which can be given or sold to others.

You can use either this primer or the tutorial to better understand EEP (the information here is also presented in the tutorial, which also explores the various floaters and options in greater depth).

For official information on EEP, please refer to the Environment Enhancement Project SL wiki page.

EEP Basic Concepts and Terminology

In brief EEP:

  • Uses environment objects that you can keep in your inventory and / or share with others – including selling (subject to the SL permissions system) via in-world stores and on the Marketplace.
  • Provides parcel-level control of environments.
  • Allows up to four different, independently controlled sky layers.
  • Allows custom textures for the Sun, Moon and clouds.
  • Provides an extended day cycle of up to 168 hours (thus allowing a 7-day, 24-hour day / night cycle to be defined, for example).
  • Means that as environments settings are simulator-side, and so by default are automatically seen by anyone using any EEP enabled viewer on entering the region / estate / parcel.
  • Still allows the use of “personal” settings seen only be the use applying them, for the purposes of photography, machinima, etc.

Terminology

EEP uses some key terminology that should be understood.

  • Settings: used to define the environment you see. There are three settings types:
    • Sky: define the atmosphere and lighting for a day (or night); the movement, density, etc., of the clouds; and the appearance of the Sun and / or the Moon (which remain in a fixed point in the sky).
    • Water: define the appearance of Linden Water (prim or mesh animated water is not affected): water colour and reflection; wave movement; amount of light refraction, etc.
    • Day Cycles: collections of Sky and Water settings that are combined to present a dynamically changing environment over a user-defined time period representative of a “day” (by default this is set to the legacy Second Life day / night cycle of 4 hours, but can be extended out to represent physical world time periods of up to one week).
    • Note that Sky and Water settings are referred to as Fixed Environments.
  • EEP assets: physical “containers” for storing EEP settings. These are inventory items that by default, are stored in the new Settings folder in your inventory (see below), they are split into three types:
    • Sky – Sky settings. Icon: a blue sky with clouds.
    • Water – Water settings. Icon: a water droplet.
    • Day Cycle – for Day Cycles. Icon: a split Sun / Moon.
    • EEP assets (permissions allowing) can be exchanged, given away, and / or sold through a store or via the Marketplace.

Note that EEP settings are:

  • Created or edited using their corresponding EEP asset (e.g. to create Sky settings, you use the Sky asset type).
    • New EEP assets can be created directly from inventory, just like any other system inventory asset type (notecard, clothing item, gesture, script, body part).
    • Creating / editing EEP assets and settings is covered in depth in my EEP tutorial.
  • By default stored within a new system folder in inventory – the Settings folder. This folder may be hidden until such time as an EEP asset is created.
By default, EEP assets are stored and created in the Settings folder in your inventory (l). If you want, you can manually sub-divide your settings into suitable folders for easier tracking (r)

EEP Permissions

There are a few notes on permissions associated with EEP settings / assets.

  • Copy/no-copy: EEP settings assets may never be marked no-copy. A person who owns a setting object may always make a copy of it in their inventory.
  • Transfer/no-transfer: the no-transfer permission is persistent. If you import any no-transfer day or water setting into a day cycle, that day cycle will also become no-transfer. Once saved, this change cannot be undone.
  • Modify/no-modify: these permissions behave as normal.

EEP Library Assets

EEP includes a collection of Sky, Water and Day Cycles, together with a set of textures that can be used for clouds and / or to replace the Sun and Moon, etc.

  • These are located in Inventory (CTRL-I) → Library → Environments.
  • They can be used in one of two ways:
    • Unmodified, directly from Library → Environments.
    • By copying them to your inventory (e.g. to your own Settings folder, if it is visible through the creation of an EEP asset; if not, any other folder can be used), where they will become modifiable, allowing you to adjust them / use them to create your own settings.
    • See my EEP Tutorial for editing / modifying EEP assets and settings.

Differences to Windlight

Some of the key differences between EEP and windlight are:

  • EEP settings are stored in inventory assets, not as XML files saved to your computer.
  • Because they are server-side, EEP settings are by default seen by any viewer affected by the. This can mean:
    • Parcel owners using a specific set of environment settings no longer have to request visitors manually switch to them.
    • Settings are no longer dependent on visitors to a parcel with a custom environment having the precise windlight XML file stored on their computer.
  • EEP setting do not require any external storage (e.g. Dropbox) in order to be shared with other users, if they are to be given away.

Tutorial: Environment Enhancement Project (EEP)

Note: As I’ve had a number of Firestorm users directed here from the Firestorm Team’s EEP Beta release blog post who have commented directly to me about that release, please note that I am aware of it, and in fact blogged it at the time it was made available – see Firestorm 6.4.5 Beta: EEP and Camera Presets – which highlights some of the additional EEP / Phototools integration work the Firestorm team has carried out.  

EEP, the Environment Enhancement Project, is a set of environmental enhancements designed to replace windlight XML settings to control the water and sky environments seen in Second Life, and provide a wide range of additional capabilities for region holders, parcel holders and general users. It represents a fundamental shift in how environment settings are used and applied

In brief EEP:

  • Uses environment objects that you can keep in your inventory and / or share with others – including selling (subject to the SL permissions system) via in-world stores and on the Marketplace.
  • Provides parcel-level control of environments.
  • Allows up to four different, independently controlled sky layers.
  • Allows the Sun, Moon and Cloud textures to be replaced with custom textures uploaded to the viewer.
  • Provides an extended day cycle of up to 168 hours (thus allowing a 7-day, 24-hour day / night cycle to be defined, for example).
  • Allows users to override region / parcel settings as seen within their own viewer for the purposes of photography, etc.
  • Provides new LSL functions to allow scripts to interact with parcel environments.

In addition, key aspects of EEP are:

  • Estate / region / parcel settings are simulator-side, and so by default are automatically seen by anyone using any EEP enabled viewer on entering the region / estate / parcel.
  • Provision of a Personal Lighting capability that allows photographers, etc., to make rapid / temporary changes to an region / parcel’s environment visible only in their viewer.
  • Allows environments settings to be applied to your own avatar, allowing you to see the same environment (sky, clouds, Sun / Moon position, etc.) wherever you go in-world – useful for vehicle drivers travelling across multiple regions.
Table of Contents

This tutorial is designed to walk you through the essentials of EEP, including the terminology used. It is split into a number of sections:

  • Terminology and Concepts – key terminology and concepts with EEP.
  • The viewer UI elements associated with EEP.
  • An overview of creating and editing EEP assets.
  • An overview of applying EEP settings
  • Breakdowns of the floaters used to create Sky, Water and Day Cycles in EEP.
  • An overview of importing windlight XML files into the viewer and saving them as EEP settings / assets.
  • A summary of EEP LSL resources with links.

Some of these sections are self-contained, other can be used together (e.g. creating assets, using the Sky, Water and Day Cycle floaters, and applying EEP settings). To further assist referencing, major topics appear on their own page – please make sure you use either the table of contents or the page numbers at the foot of each page for ease of navigation.

Official information on EEP can be found in the EEP section of the SL wiki.

Note: at the time of writing this piece, the official Second Life viewer – version 6.4.0.540188, dated April 15th (or later) to see / use EEP capabilities. However, TPVs will be releasing version supporting EEP in due course. Check their websites, listed in the panel on the right, for updates that may not be covered in these pages.

My sincere thanks to Rider Linden, EEP maestro, for his assistance in the writing of this tutorial.

As well as bringing a range of new environment capabilities, EEP also lets you use custom textures for the Sun and Moon (and clouds). So Isla Pey can appear with Earth slowly setting, and Jupiter and one of the Galilean Moons also strangely in the sky! Note that both the size of the “sun” and “moon” textures can also be adjusted

Terminology and Concepts

EEP uses some key terminology that should be understood.

  • Settings: used to define the environment you see. There are three settings types:
    • Sky: define the atmosphere and lighting for a day (or night); the movement, density, etc., of the clouds; and the appearance of the Sun and  / or the Moon (which remain in a fixed point in the sky).
    • Water: define the appearance of Linden Water (prim or mesh animated water is not affected): water colour and reflection; wave movement; amount of light refraction, etc.
    • Day Cycles: collections of Sky and Water settings that are combined to present a dynamically changing environment over a user-defined time period representative of a “day” (by default this is set to the legacy Second Life day / night cycle of 4 hours, but can be extended out to represent physical world time periods of up to one week).
    • Note that Sky and Water settings are referred to as Fixed Environments.
  • EEP assets: physical “containers” for storing EEP settings. These are inventory items that by default, are stored in the new Settings folder in your inventory (see below), they are split into three types:
    • Sky – Sky settings. Icon: a blue sky with clouds.
    • Water – Water settings. Icon: a water droplet.
    • Day Cycle – for Day Cycles. Icon: a split Sun / Moon.
    • EEP assets (permissions allowing) can be exchanged, given away, and / or sold through a store or via the Marketplace.

Note that EEP settings are:

  • Created or edited using their corresponding EEP asset (e.g. to create Sky settings, you use the Sky asset type).
    • New EEP assets can be created directly from inventory, just like any other system inventory asset type (notecard, clothing item, gesture, script, body part).
    • Creating / editing EEP assets and settings is covered in depth in my EEP tutorial.
  • By default stored within a new system folder in inventory – the Settings folder. This folder may be hidden until such time as an EEP asset is created.
By default, EEP assets are stored and created in the Settings folder in your inventory (l). If you want, you can manually sub-divide your settings into suitable folders for easier tracking (r)

EEP Permissions

There are a few notes on permissions associated with EEP settings / assets.

  • Copy/no-copy: EEP settings assets may never be marked no-copy. A person who owns a setting object may always make a copy of it in their inventory.
  • Transfer/no-transfer: the no-transfer permission is persistent. If you import any no-transfer day or water setting into a day cycle, that day cycle will also become no-transfer. Once saved, this change can not be undone.
  • Modify/no-modify: these permissions behave as normal.

EEP Library Assets

EEP includes a collection of around 200 Sky, Water and Day Cycles, together with a set of textures that can be used for clouds and / or to replace the Sun and Moon, etc.

  • These are located in Inventory (CTRL-I) → Library → Environments.
  • They can be used in once of two ways:
    • Unmodified, directly from Library → Environments.
    • By copying them to your inventory (e.g. to your own Settings folder, if it is visible through the creation of an EEP asset; if not, any other folder can be used), where they will become modifiable, allowing you to adjust them / use them to create your own settings.
    • See my EEP Tutorial for editing / modifying EEP assets and settings.

Differences to Windlight

  • EEP settings are stored in inventory assets, not as XML files saved to your computer.
  • Because they are server-side, EEP settings are by default seen by any viewer affected by the. This can mean:
    • Parcel owners using a specific set of environment settings no longer have to request visitors manually switch to them.
    • Settings are no longer dependent on visitors to a parcel with a custom environment having the precise Windlight XML file stored on their computer.
  • EEP setting do not require any external storage (e.g. Dropbox) in order to be shared with other users, if they are to be given away.

Second Life: EEP – the Environment Enhancement Project

The Environment Enhancement Project introduces an entirely new way to create and use environment settings for the appearance of the sky, day cycles and , Linden Water, within the viewer. Among other things, EEP capabilities include the means to apply environment settings to individual parcels, allows them to the sold and bought,enable day cycles that can last up to 168 hours, and permit the use of custom Sun / Moon textures, as seen here, with settings by default automatically to all viewers they affect.

On April 20th, 2020, Linden Lab announced the official release of the Environment Enhancement Project (EEP). Originally announced in 2017 – see Second Life Windlight environment enhancements – it has taken longer than anticipated to reach a release status, but it brings with a host of new features and capabilities.

What is EEP?

For those who many have missed it, EEP provides an whole new way of creating, modifying and applying environments (sky and water settings and day cycles) in Second Life. in brief, EEP:

  • Uses environment objects that you can keep in your inventory and / or share with others – including selling (subject to the SL permissions system) via in-world stores and on the Marketplace.
  • Provides parcel-level control of environments.
  • Allows up to four different, independently controlled sky layers.
  • Allows the Sun, Moon and Cloud textures to be replaced with custom textures. uploaded to the viewer.
  • Provides an extended day cycle of up to 168 hours (thus allowing a 7-day, 24-hour day / night cycle to be defined, for example).
  • Allows users to override region / parcel settings as seen within their own viewer for the purposes of photography, etc.
  • Provides new LSL functions to allow scripts to interact with parcel environments.

Currently, to use EEP, you will require the official Second Life viewer – version 6.4.0.540188, dated April 15th (or later). However, TPVs will be releasing version supporting EEP in due course.

I’m in the processes of polishing a basic EEP Primer and an in-depth EEP tutorial, which will be published shortly. In the meantime, here’s the official video on EEP.

EEP testing and project viewer officially announced

Courtesy of Linden Lab

On Wednesday, October 3rd, 2018, Linden Lab officially announced the opening up of EEP testing to Second Life users.

EEP  is the Environmental Enhancement Project – in short as series of in-development updates to the existing windlight capabilities in the viewer, and to environment settings / rendering across the board. In brief and in part EEP:

  • Gives region and parcel owners the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • Provides new environment asset types (Sky, Water, Day) – referred to as “settings”  – that can be created in the viewer, stored in inventory and traded through the Marketplace / exchanged with other users.
  • Allows the Sun, Moon and Cloud textures to be replaced with custom textures.
  • An extended day cycle, supporting up to 7 days a week and 24-hour day / night cycles.

And that’s just to start. The project will also include rendering updates to allow for atmospheric effects such as crepuscular rays (“God rays”), plus scripted and experience support for the new environment asset types (e.g. assign specific environment settings to an experience, which all participants will automatically have applied in their view when visiting the experience).

A simple 5-minute (including uploading the textures) demo of replacing the Sun and Moon with Mars and Jupiter respectively, then adjusting their respective sizes & putting them in the same quadrant of the sky. Note the windlight clouds drifting in front of Mars.

Testing EEP can only be carried out on Aditi (the beta grid) for the time being, where there is a limited number of parcels available for purchase. Testing can only be carried out using the EEP project viewer.

  • Download the viewer via the Second Life Alternate Viewers Page.
    • At the time of writing, the viewer was version 5.1.10.520121 – but use the above link to get the most recent version.
  • Test region: Aditi EEP Testing (secondlife://Aditi/secondlife/EEPTesting/128/128/23).
    • Parcels cost L$1, but as Aditi funds are provided by Linden Lab, you are not paying for anything with your own money.
    • You MUST be using the EEP test viewer why trying to purchase a parcel on the test region – if you are using any other viewer, your purchase will time out.

Should you opt to test EEP and find issues, please be sure to raise a bug report, using the [EEP] tag. Reasonably feature requests may also be considered.

The parcel-level controls for using EEP, showing the Sun / Moon options and day cycle track

If you do not successfully purchase a parcel, or wish to see what others are doing with EEP, you can still visit the test region  – but you will need to be using the EEP test viewer in order to see anything.

There are a number of resources already available for EEP to get people started

EEP atmospherics via Graham Linden

I’ll continue to have EEP project news and updates through my Simulator User Group meeting, Content Creation meeting and TPV Developer meeting summaries.