Materials processing – more sneak peeks

The server-side materials code reached the main grid in week 5, with a deployment to the BlueSteel Release Candidate channel. As stated in my project report marking the deployment, the code will not be usable until there are suitable viewers on the grid which can utilise it, and they have yet to be released.

As it stands, viewer-side work is progressing, and it is likely that a project viewer will be made available in the near future, although time frames are still a little hard to determine. Commenting on possible viewer availability on Wednesday January 30th, Geenz Spad, lead developer for the viewer, stated, “At this point, it’s hard to say; the majority of the rendering bits are finished at this point. The UI’s there, but needs a bit of polish; so all in all I’d say a public testing version should be out really soon.”

During the conversation, Geenz provided further preview pictures to those in attendance, some of which are reproduced here.

Materials in action: a prim with a texture (diffuse map) and normal map applied (courtesy of Geenz Spad) - click to enlarge and see in detail
Materials in action: a prim with a texture (diffuse map) and normal map applied (courtesy of Geenz Spad)

Viewer UI

In week 4 I was able to provide a quick look at the changes to the Build floater’s Texture tab which are directly relevant to materials processing. Since then, the developer leading this work, Tonya Souther, has progressed the tab to a point where it is close to finished. In particular, pickers have been added to the normal and specular map options, and the diffuse (texture) option now has a drop-down for the alpha mode selection, also as discussed in a previous project report.

Materils Build floater Texture tab revisions (31-01-13): The diffuse (texture) option, showing the Alpha mode drop-down options (l); the normal map options, with map picker and default texture list drop-down (c); the specular map options, in which the Use texture drop-down displays the familiar low, medium & high shiny options (r)
Materials Build floater Texture tab revisions (31-01-13): The diffuse (texture) option, showing the Alpha mode drop-down options (l); the normal map options, with map picker and default texture list drop-down (c); the specular map options, in which the Use texture drop-down displays the familiar low, medium & high shiny options (r). Materials can be applied per face of an object, with scale, rotation, etc., applied across all maps on a face / object – click to enlarge

Viewing Materials: How Things Will Look

Materials processing will require viewers to be running in deferred mode (i.e. with lighting and shadows enabled, although not necessary with shadows activated – see my notes here). While it is not possible for materials to be implemented in such a way that it can run in a non-deferred mode, materials should not have any major negative impact on how second life looks to those who are unable to run their viewer in deferred mode. In fact, SL should continue to look to them much as it does today, hopefully as show in the image below.

With and without: how materials will look when running a viewer in differed mode (top) and in non-deiffered mode (bottom). The differences are clear, but the in-world experience in non-differred mode is not in any way "broken"
With and without: how materials will look when running a viewer in differed mode (top) and in non-deferred mode (bottom). The differences are clear, but the in-world experience in non-deferred mode is not in any way “broken”

In the meantime, Linden Lab are continuing to try to gather data on the number of users running their viewers in differed mode and – perhaps equally as important – the number of users who could be running with deferred active (again, if not with shadows active), particularly given the continuing improvements being made to the rendering system.

So materials processing is progressing and drawing close to an initial release. There is a lot going on within Second Life as a whole at the moment in terms of projects coming into the viewer, with both avatar baking/server-side baking (SSB) and the Communications Hub User Interface (CHUI) also on the horizon as well. As such, the Lab still need to establish priorities on the various projects and plan releases accordingly. Similarly, TPV’s need to consider the impact of these various projects on their work and determine their own priorities for integrating the projects into their viewers. Given the complexity some will face in implementing CHUI, it would appear likely that the materials capabilities might reach some TPVs ahead of that work, even if CHUI and materials are released in relatively close order.

As always, updates will be provided as news emerges.

Another preview of a  normal map and a  diffuse map (texture) in action (courtesy of Geenz Spad)  - click to enlarge
Another preview of a normal map and a diffuse map (texture) in action (courtesy of Geenz Spad) – click to enlarge

Related Links

SL project news: week 5 (1): servers, viewer, deformer

Server Deployments Week 5

There are a full set of deployments this week, Main channel and RCs.

On Tuesday 29th January, the Main channel received the threaded region crossing code deployed to BlueSteel and LeTigre in week 4. This project makes sim performance smoother when objects and avatars cross between regions. Please refer to the release notes for further information.

On Wednesday 29th January, the Release Candidate channels should receive the following deployments:

  • BlueSteel should receive the server-side materials processing code. This code will require a a project viewer in order to be used, As reported in week 4, there is no definitive timeframe as to when a viewer is liable to be available, but it would be reasonable to expect something in the next few weeks (possibly sooner) – release notes
  • LeTigre should receive the maint-server project originally deployed to Magnum in week 3. This deployment includes the bug fix for the places / search indexing issue which occurred following the original deployment of the code to Magnum – release notes
  • Magnum will receive a further update to the interest list code deployed in week 4. This update addresses high packet loss problems, leading to issues such as not seeing avatars or objects in-world, specifically:
    • A fix for bots which do not specify a valid draw distance in order to prevent them downloading huge amounts of unwanted data
    • A fix to keep ObjectUpdate packets within an ethernet MTU of 1500
    • Release notes.

Please check with the forum discussion thread for these deployments to keep abreast of updates / changes / issues.

Materials processing: server-side code to go to BluseSteel on Wednesday 30th January - but no project viewer yet
Materials processing: server-side code to go to BlueSteel on Wednesday 30th January – but no project viewer yet

SL Viewer News

Problems remain with the beta viewer code, but it is hoped a new beta will be appearing shortly. In te meantime, Kelly Linden has committed the viewer-side code for extending the maximum avatar animation length from 30 seconds to 60 seconds (MAINT-1492). This should be appearing in the 3.4.5 beta viewer, and should also be appearing in TPVs in the near future.

Mesh Deformer

Delays continue with the mesh deformer, which can be summarised as:

  • The Lab has limited internal resources for testing it – although attempts are being made to address this
  • There is concern that there is no clear way for a designer and a user to be sure that they are using the same avatar base model – and if they are not, then the deformer will very likely make things worse. While there are some provisions within the current deformer for the base model to be taken into consideration, there is apparently concern that it may not be sufficient
  • The project veiewer code is now significantly behind the current viewer release, although work is underway to merge it up (and I received a report that this has been done while preparing this update).

A further potential issue in progressing the deformer  – as Karl Stiefvater (Qarl Fizz), who wrote the original code points out – is there are a lot of expectations that the deformer will do a lot of things which were not in the original specification (or indeed, the code as originally written). Some of this scope creep has resulted in further updates to the code from other contributors. However, there appear to be concerns that if the Lab prematurely release if, there will be a risk that a) it breaks existing content, b) it is viewed as not addressing problems correctly.

This latter aspect was also commented upon by Oz Linden, when speaking Open-source Development meeting on Monday 28th January. He said, “We are often (and frequently with justification) accused of throwing things out that are not really finished enough… indeed, the lack of some solution for the problem the deformer is trying to solve is one of the more prominent recent examples, but I don’t want to make the situation even worse by putting out a ‘solution’ that turns out not to solve enough of the problem and/or creates bigger ones down the road.”

Avatar Baking (SSB)

A set of code updates for the viewer are in progress. However, an issue with the Mac build means they have not been pushed as an update to the project viewer as yet. It is hoped that the updates will reach all three versions of the viewer (Windows, Linux and Mac) once the Mac build problem has been resolved.

SL project news: week 4 (3): viewer, CHUI, SSB, more materials, oh my!

SL Viewer Beta

Issues within the 3.4.5 code have prevented viewer releases progressing through beta, with the code stuck in QA while LL tackled them. However, it appears the majority are now either fixed or on their way to being fixed, and an updated beta viewer should be appearing next week, which should see the beta viewer come pretty close to alignment with code in the development viewer, with the latter only having “a couple” of things not added to the beta branch.

Communications Hub User Interface (CHUI) Project

There have been a rapid series of merges between the CHUI project viewer code and the development viewer recently (as seen in my Viewer Round-up Page and weekly summaries), helping the former to keep pace with the latter, with the most recent CHUI development release (3.4.4.269464) being made on January 25th.

Speaking at the TPV Developer’s Meeting on Friday 25th January, Oz Linden indicated that a formal merge of the CHUI project viewer code with the development viewer code branch “pretty soon” (possibly in the next two weeks, putting it ahead of the server-side baking project). However, according to Nyx Linden, the plan will be to not merge CHUI with the server-side baking project for as long as possible, so that TPVs have the choice of deciding whether they wish to integrate both projects into their own code at the same time or not.

CHUI is viewed as potentially the more problematic implementation for some TPVs to undertake as it involves more widespread changes to the UI, and, and project lead Merov Linden pointed out, the need to refactor a number of areas within the viewer to work with the CHUI elements. As some TPVs have already made substantial changes to the communications floater and other aspects of the communications elements of the UI, there is also a need for these TPVs to work through the code and see how it works with / impacts / breaks / undoes the changes they have made, in order for them to make a proper determination as to which code to adopt / maintain, and which code to ignore / discard.

Avatar Baking (Server-side Baking or SSB)

Work in progressing on all sides of this project, with the various TPVs working on integrating the initial code release from LL into experimental versions of their viewers (with varying degrees of success) and LL working on “bug stomping” and fixes. As commented on in my week 3 project report, there are concerns over the speed of releases for updated code from LL and general visibility of JIRA items.

Nyx Linden was on-hand at the TPV Developer Meeting on the 25th January to provide an update and field questions.

Nyx linden discusses server-side baking at the TPV Developer meeting (stock)
Nyx linden discusses server-side baking at the TPV Developer meeting (stock)

In terms of the server-side code, there have been a number of fixes which should have rolled-out to Aditi on Thursday 24th January, although the status of these had yet to be confirmed at the time of the meeting. Various issues are still to be fixed, such as some avatars being reported with heights which don’t match LL’s computations (particularly very small / petite avatars and very big avatars), which may be down to a mis-match between the way some viewers are calculating avatar height and what the server is anticipating receiving in terms of a value range.

The viewer code has also been receiving a number of updates and fixes, which should be available for use by TPVs and in an updated version of the project viewer in the next day or so. These updates include a required fix for an issue whereby edits make to a wearable item are not saved unless the user also changes something else they are wearing (for example, edits made to a blouse are not saved unless the user swaps the pants they are wearing).

Currently, and so far as I’m aware at the time of writing, Cool VL viewer, Singularity and Radegast all have experimental builds of their viewers / clients which incorporate the code and which are being used purely for testing purposes, with Exodus planning to start merging the code shortly. Niran’s viewer has reported issues with the new code “breaking” RLV/a which (so far) haven’t been reported by other TPVs.

Given the overall pace at which things are progressing on LL’s side, particularly with CHUI and dealing with issues uncovered within SSB itself, it is likely the original eight-week window for TPVs to integrate the SSB will be extended inasmuch as the deployment of SBB to the main grid is now likely to be slightly later than LL may have originally anticipated.

Continue reading “SL project news: week 4 (3): viewer, CHUI, SSB, more materials, oh my!”

SL project news 4 (2): server and materials processing

Server Deployments Week 4

The RC channel deployments went ahead as planned on Wednesday 23rd January. BlueSteel and LeTigre Received the Threaded Region Crossing Code, and Magnum the Interest List code.

The week 3 maint-server release had been the only contender for the Main channel on Tuesday 22nd January, but was not deployed due to the issue of places not indexing correctly in search. A fix was available for this issue, but was rolled to Magnum as a part of that deployment.

Magnum Issues

There have been widespread issues in regions on the Magnum channel since the deployment, some of which have been reported in the deployment discussion thread on the forum, others of which have been reported in groups such as the Firestorm Support group. These issues may be related to a high bandwidth issue leading to packet loss for people on slower connections. Symptoms include:

  • High packet loss / ping to the simulator
  • Avatars initially unable to move on arriving in a region
  • Avatars apparently unable to move on arrival, but then suddenly “warping” to new position if movement keys have been pressed
  • Avatars already in the region being visible to a newly arrived avatar, then vanishing the first time the avatar moves or rotates camera
  • Objects failing to rez or to rez correctly (including attachments on avatars)
  • Other issues as reported in the forum discussion thread, including notable issues being encountered with JVA bots.

At this time, the issues remain under investigation by the Lab.

Deployments for Week 5

There is currently no clear news on deployment plans for the week commencing Monday 28th January. However, if there is a Main Channel release, Maestro Linden is of the opinion that it will likely be the threaded region crossing code.

The maint-server release originally on Magnum in week 3 will be re-deployed on an RC (which one is TBA at this point), which includes a number of additional fixes, including the fix for the search indexing issue.

Materials Processing

There has been little direct news on the materials processing project from those working on it. However, at the Server Beta User Group meeting on the 24th January, Maestro Linden reiterated that the server-side code is very close to a Release Channel deployment and, “May even get a slot next week [week 5].”

Maestro also gave some information on new options for what the alpha channel means during rendering, with four settings available:

  1. None –  the alpha channel is ignored, rendering the face opaque, or
  2. Alpha blending – essentially the same as we currently have for any alpha texture, or
  3. A 1-bit alpha mask with each pixel either 100% transparent or 100% opaque, with a cutoff setting to determine where the threshold is (alpha masks should render faster than alpha blending, and eliminate issues with alpha layer sorting), or
  4. Emissive mask – so the alpha layer is interpreted as a per-pixel glow setting.

(Note that these options appear to suggest a surface cannot have both an alpha mask (or alpha blending) and an emissive mask; however, as Maestro Linden pointed out, there will still be options in the build floater to set glow or face transparency.)

Maestro additionally indicated that the remaining “mesh sandbox” regions on Aditi (DRTSIM-169 channel: Mesh Sandbox 3, Mesh Sandbox 6, Mesh Sandbox 22) have been updated with the server-side materials processing code, so that builders can test the new capabilities once a materials processing viewer is available.

Testing materials processing in SL. Note the texture of some surfaces and reflections on others (image courtesy of Geenz Spad) - click to enlarge
A “sneak peek” at materials processing in SL, provided by Geenz Spad. Note the texture of some surfaces and reflections on others – click to enlarge. (Note this image should not be taken as indicating materials processing is available for public use as yet – see below.)

Viewer Status

Even though the server-side code is available on selected Aditi regions and may be deployed to a Release Channel in week 5, it will not be usable until such time as a materials processing project viewer is made available. Currently, this is unlikely to be for another few weeks, as there is further work to be completed on the viewer itself, including UI updates (such as the new build floater), code for fetching the additional materials data and for rendering it.

Server Object Rezzing Code

As I outlined back in week 1,  Baker Linden is working on improving how objects with large file sizes (as opposed to them being physically large when rezzed in-world) are handled by the simulator software when being rezzed.

In the first part of this update, I reported that Baker hoped the code would be progressing through LL’s QA for deployment to an RC channel in the next few weeks. In the meantime, the code is now available on the DRTSIM-194 channel (e.g. CCMTEST26).

The key point about this work is that it is specifically aimed at preventing the simulator processes from choking and a region stalling when there are a number of large object files being read / parsed, not at actually “speeding up” the physical rezzing process. As such, it is unlikely that objects will appear any faster in people’s in-world view as a result of this work. However, what it does mean is that the simulator code will be better able to handle rezzing multiple “large file” objects without the attendant region lagging which can occur as a result of the simulator being unable to process messages from viewers and other simulators, etc.

Aditi Issues

Issues continue with Aditi, both in terms of people being able to log-in, and with inventory syncing problems. It is currently unclear as to what the status is regarding potential solutions which have been mentioned in the past – culling “stale” accounts from Aditi and obtaining additional hardware to handle the load. In the meantime, problems continue for some, and the advice remains to keep trying a password change and waiting 24-48 hours for it to fully propagate before attempting to log-in to Aditi once more.

Related Links

Note that all SLurls given in this report are for the Aditi (Beta) grid.

SL project news: week 4 (1): server, permissions, terrain and teleporting

Server Deployments Week 4

There was no Main Channel deployment on Tuesday 22nd January due to the issues encountered in week 3, which saw the interest list code on BlueSteel and LeTigre rolled back due to stability issues, and the maint-server release on Magnum having problems of its own (including regions not showing up in search, etc.).

There will be RC deployments on Wednesday 23rd January, as follows:

  • BlueSteel and LeTigre should receive the region crossing improvement project.  This project makes sim performance smoother when objects and avatars cross between regions.  This is the same project which was on BlueSteel and LeTigre in week 2; the only change is a fix for a crasher – release notes (BlueSteel)
  • Magnum should receive the interest list improvement project.  This update should reduce the bandwidth usage of viewers due to object updates, and should improve simulator performance, especially in sims with many connected avatars.  This is the same project which was on BlueSteel and LeTigre briefly in week 3; the only change is a fix for two crash modes – release notes
3rd time lucky? Interest List updates due for deployment to Magnum on Wednesday 23rd January
3rd time lucky? Interest List updates due for deployment to Magnum on Wednesday 23rd January

According to Simon Linden, speaking at the Simulator User Group on Tuesday 22nd January, the issue(s) relating to Magnum regions / parcels failing to show up in search also has a fix, which is apparently included in code due to be deployed to those regions, although there is no comment on this in the release notes themselves at the time of writing.

SL Viewer

Work continues on the viewer development side of things with further updates an merges and new versions appearing almost every other day, but little is currently filtering through to the beta viewer code branch at present.

Similarly, the CHUI developement viewer is going through a rapid series of updates, reaching 3.4.4.269264 on Tuesday 22nd January, although updates from the last series of development releases have yet to reach the CHUI project viewer.

Work has been promised to update the Sunshine (avatar baking) viewer code, whether this has been done or not is unclear as there was no Content Creation meeting on Monday 21st January due to Martin Luther King’s birthday; however, the current release of the project viewer remains 3.4.4.268071 at the time of writing.

Merges are also still awaiting on the Mesh project viewer in order to bring that back into line with more recent viewer-dev code updates.

Continue reading “SL project news: week 4 (1): server, permissions, terrain and teleporting”

SL project news: week 3 (1): Servers, Materials, Baking and more

Update 19th January: As is being reported in the deployment thread in the forums, further issues are arising with search, and also problems with scripted vehicles (as Wolf also nones in the comments for this article. Those using regions running on Magnum are advised to keep an eye on the deployment thread for news on issues as they are investigated by other users / feedback from the Lab.

Update 18th January: An issue has ben reported with Magnum regions no longer being listed in the main search floater, although shops, etc, within a Magnum region are still listed. The problem does not extend to the world map search. Maestro Linden has filed a bug report. A rolling restart of all LeTigre and BlueSteel regions commenced at 10:00 SLT due to instablility issues being reported with the regions. The restart will comprise a roll-back of server code on BlueSteel and LeTigre to 12.12.18.268345.

Deployments for Week 3

After the issues encountered last, week, there was no main channel release on Tuesday 15th January, 2013.

Changes also occurred with the RC channel deployments. As fixes for the threaded region crossing problems were not ready for release, this was removed from the schedule and replaced by a maint-server release. Then, a network hardware error forced the RC deployments to be postponed until Thursday 17th January.

The roll-outs duly took place on the 17th, and comprise:

BlueSteel and LeTigre received the interest list improvement project. Originally scheduled for Magnum in week 2, but was held up due to a last-minute bugs, this  update should reduce the bandwidth usage of viewers due to object updates, and should improve simulator performance, especially in sims with many connected avatars – release notes here (BlueSteel).

This release received an additional bug fix, related to seated avatars temporarily vanishing from other avatars’ view when  crossing between regions. This fix may have led to the server release notes as reported and wiki pages for BlueSteel and LeTigre slipping out of sync with the actual code release (this has now been corrected subsequent to my pointing it out to Maestro Linden).

Magnum received a new server maintenance project, which mostly contains bug fixes, together with the following:

  • Server-side code to support “neck” and “center” attach points, which didn’t get rolled out when these were added to the viewer (but which now also require a minor change to the viewer, which is forthcoming)
  • An update to improve the effectiveness of estate bans (i.e. preventing banned avatars returning)
  • An update for builders, which covers SVC-7996 and as a part of STORM-68 (ensuring all created items have the default permissions set within the viewer). This particular fix ensures that scripts created using the New Script button in the build floater inherit the permissions set within the viewer, rather than server-defined defaults
  • An update to how abandoned mainland is handled, as the automated buy-back option for abandoned land is being eliminated (see: Abandoned Land in the Knowledge Base)
  • Release notes here.

Deployments for Week 4 (Commencing Monday 21st January)

There is no major news on releases for week 4, other than the threaded region crossing code now has fixes for the last-minute issues which prevented its roll-out in week 2, so this should be on one of the RC channels for deployment on Wednesday 23rd January.

SL Viewer

The release version of the SL viewer rolled to the 3.4.4 codebase on Tuesday January 15th, with the release of 3.4.4.268864. See the release notes for details of updates and fixes.The development viewer is rapidly progressing through a series of releases, with 3.4.6.269073 released on January 15th, followed by 3.4.6.269108 on January 17th.

After a series of development version releases, the CHUI project viewer also moved to the 3.4.4 codebase with the release of version 3.4.4.268981, also on January 15th. The Development version of CHUI continues to keep pace with releases from viewer-development.

Server-side Baking

Work is continuing on avatar baking (otherwise know as server-side baking or Project Sunshine), with Nyx Linden reporting at the Content Creation User Group on Monday 14th January that the team has, “Been a bit heads-down focusing on some bug-stomping.”

Concern is growing that, since the initial release of the Sunshine Project viewer a month ago, there have been no further updates to the viewer-side code, despite extensive feedback from TPVs, which  – in the words of one developer – is not conducive to enabling everyone to adopt the latest code and get ready for the baking service within anticipated time frames (i.e. mid-to-late February).

Nyx has acknowledged the problem, and hopes that the Sunshine code will be merged-up to the latest viewer development code soon, together with verification that nothing has been broken as a result. In the meantime, and away from the SL viewer itself, Henri Beauchamp reported that he has server-side baking working in the experimental branch of his Cool VL viewer.

A further concern with the project is the manner in which JIRAs are being handled since last year’s changes to the system. Raised issues are effectively being cloned, with one version sitting internally to LL and “hidden” from general viewing, with the cloned version available for public viewing and update. This has resulted in worries that cooperation between TPVs and LL in resolving issues related to the Sunshine project could be hampered if the cloned public JIRA are not properly updated whenever LL update the internal versions of the same issues. Nyx Linden has promised to work to ensure that all cloned public JIRA are kept up-to-date.

Materials Processing

The server-side code for this is “inching towards” a point where it will be ready for deployment to an RC channel. When this will be is unclear, but it is likely to be ahead of any project viewer emerging from the Lab.

Concern is still being raised over the need to run the viewer in deferred mode in order to see materials processing in action once it has been rolled-out onto the grid. Some of this concern may be down to the confusing way in which deferred mode is labelled in the Graphics tab of the viewer preferences (“Lighting and Shadows”), with people thinking they must have shadows running in order to be in deferred mode (i.e. with the Shadows drop-down set to either Sun/Mon or Sun/Moon + Projectors). However, the viewer is running in deferred mode even with the drop-down set to None.

Continue reading “SL project news: week 3 (1): Servers, Materials, Baking and more”