The Mesh Deformer: Setting the record straight

One of the hottest discussion topics in Second Life during the past two years is the mesh deformer, which Karl Stiefvater, a.k.a. Qarl Fizz (formerly Qarl Linden) proposed on SL’s JIRA as STORM-1716. Ever since then, the fact that it has not yet been implemented has been an axe that practically everybody has been grinding, touting it as “proof” that Linden Lab is somehow conspiring to displease its user base by not merging a technology funded by “the community” with the main viewer, a technology that is considered to be the silver bullet, the panacea that will magically solve all the problems of LL’s implementation of mesh clothing – such as the need for the introduction of the standard sizing system and the fact that it “dictates” human shapes that actually look human.

Now, I’ll have to tell you that there are still no news on the mesh deformer. Work has not commenced on it yet, but Oz Linden confirmed that, when he goes to LL’s HQ in San Francisco, he’s going to try as hard as he can to get a team together to work on the deformer. That’s all the news I have on the matter. Now, much is being said about the mesh deformer and those involved and, as is the case with a lot of SL-related topics, there’s a tonne of misinformation – intentional or not. I’m going to try and set the record straight as best as I can.The recent ballyhoo about the deformer was initiated by a recent comment Qarl posted on STORM-1716, which I paste below:

Qarl's comment to Oz Linden on the STORM-1716 JIRA

Qarl’s comment to Oz Linden on the STORM-1716 JIRA

Qarl was basically trying – in the way he thought best  – to get things moving on this particular feature and he addressed Oz Linden, as he’s the one to speak to when it comes to viewer development. However, this comment was quickly picked up by various people and it formed the basis of yet another round of drama, dahling. Yes, you guessed it. More whining about how the evil Linden Lab does this and that and doesn’t do this and that and the other. It also turned out that much of the commentary I’ve seen was fuelled by prejudice and personal dislike rather than a willingness to discuss the matter honestly. Factual accuracy was not part of the recent discourse’s equation. As a matter of fact, much of what was said again was as whacked-out as the hysterical scaremongering that goes on in much of the “Free World”, where we were all raised on the bullshit horseshoe theory (which is cunningly promoted by “mainstream” media to make Europe’s nouveau fascist movements – like the neonazis of Greece’s Golden Dawn – look like a valid political choice); we’re still force-fed this crap, actually.

So, the mesh deformer is so shrouded in conspiracy theories and misinformation and disinformation that it’s become hard to tell fact from fiction and personal prejudice. In fact, some people openly declare that it’s their choice to not take facts into account, but go with what their egos and prejudices towards certain people or groups of people tell them. This is a pity, because they really should know better. But anyway, I’m going to try once again to put things right.

 A little background

As I had written before, the mesh deformer is a proposed viewer capability that Karl Stiefvater (Qarl Fizz, formerly Qarl Linden) put forth in STORM-1716 on 11/24/2011. The functionality of the deformer, as described in the JIRA, is as follows:

[W]hen wearing mesh clothing in second life – modifying the body shape of the avatar causes the clothing to no longer fit. making the avatar fatter causes it to protrude beyond clothing; making it thinner causes the clothing to hang in space away from the avatar.

And the solution is, again as Qarl put it in the JIRA, to “deform clothing meshes to match changes in avatar shape.”

According to Qarl’s proposition, the mesh deformer will do the following things (I’m keeping his spelling and syntax as-is):

Q: will this deformer work on any avatar mesh (dragon, robot, etc) or only the default male and female avatars provided by SL.

A: only the default SL avatars will be supported.

Q: will the deformed mesh clothing match all the sliders controlled in the avatar editor?

A: yes.

Q: will users have control over layering of multiple mesh clothing items?

A: no. this project is to address ONLY the issues caused by changing the avatar’s shape.

Q: will users have control over offset or thickness for mesh clothing?

A: users will not have this control. clothing designers will be able to control this when modeling the clothing on the template avatar.

Q: will manual adjustments be possible? required? or will deformation be fully automatic?

A: the user will make no manual adjustments. the deformer will be fully automatic.

Q: when does the deformation take place?

A: when the user puts on a new piece of clothing – and when the user modifies any of their avatar shape parameters.

Q: is the deformation computed on the client or the server?

A: it is computed on the client.

Q: what dependencies might this have on the server side?

A: a new boolean variable will need to be added to the mesh asset. the variable indicates whether this mesh should be deformed or not.

Q: will mesh clothing deform dynamically to match avatar physics wearables?

A: deforming with avatar physics was not part of the original specification of the project – and may possibly entail a large amount of development work to do efficiently. however, LL has shown keen interest in having the deformer work with physics – so we are examining the costs.

Q: what about automatic skin weights?

A: that work can be done independently of this work – so i think it’s best to create a separate (mini) project for it.

Q: what happens to already existing rigged mesh wearables?

A: the default behavior for meshes which were created before the deformer will be to NOT apply the deformer. (this is for backwards compatibility – so that any meshes created prior to this work are not broken.)

Q: how will this deformer work with skirts?

A: the deformer will not treat skirts any differently than other clothing types.

Of course, what Qarl wrote in the “Before you comment” box was duly ignored by everyone who commented, so this JIRA entry was eventually reduced to being nothing but a pile of noise: from all sorts of wishes and demands for what else the deformer should do to proposing a new base avatar (an idea that really would be useful for SL, as the current avatar mesh is a total mess, as has been pointed out by many people, including the Firestorm team’s Tonya Souther).

Now, let’s handle the claims one by one.

The mesh deformer is ready and works

It is. And it does work. Karl developed a deformer that does everything described in his original JIRA (not what was written in the comments beneath it). The thing is, as Nalates Urriah points out, and as Oz Linden had pointed out during Nyx Linden’s 10 June 2013 meeting (original post here), it is based on the current avatar mesh, after I dwelt on the matter a bit, requesting to know what the mesh deformer’s features will be (emphases mine):

“Mona – don’t believe 90% of what you hear. The target functionality is, I think, clearly described in the Description of the JIRA issue. Note that I did not say, ‘and the comments.’ That having been said, I personally have some doubts as to the total workflow – the confidence that the avatar bases being used are actually consistent. But I’m not really the right person to answer that question, just someone asking it. Note for example that if we accepted any of the changes offered in STORM-1800 [The vertex weights of the default character mesh could be better.], we’d be changing some aspects of that base.

There you have it. Nalates reckons, and I think she’s right, that it’s the considerations stemming from the flaws of the avatar base that keep the deformer project in the backburner. It must also be noted that not everything with the deformer is perfect. Nalates reports that in InWorldz, which paid Karl to adapt his deformer to their viewer and make some improvements, there are some rather strange issues. I quote from Nalates’ post:

Reports are there are some strange problems when using the Deformer. It seems if two people wear the same clothing item, like both have on a pair of Ferggeis Super Sexy Skinny Jeans, the viewer gets confused as to which deformation matrix to use with which avatar. One of the two people ends up having funny looking jeans.

In some cases the wrong deformation matrix is used with different clothing items. In one case a person wearing a dress was seeing another person’s jeans all messed up. It is suspected the dress deformation matrix was being used with the jeans.

Nalates concludes that the deformer works, but there are some issues with both the deformer and (more importantly) the avatar. She also opines that releasing the deformer into the wild will only make the current issues more obvious. What does this all mean? Quite simply: that the Mesh Deformer is not the silver bullet that it’s made out to be and will not fix all the issues people complain about.

OK then, so why don’t LL give us a new avatar base? First of all, don’t think for a moment that LL will suddenly replace your existing avatar base. It’s going to break all sorts of stuff: mesh clothing, animations, poses, everything that was designed for the existing avatar and with the existing avatar in mind. And LL are known for trying as much as they can to avoid breaking content that was created using officially supported features, methods and technologies.

Linden Lab tries to sabotage the Liquid Mesh technology

Once again, the “Liquid Mesh” method is not a silver bullet. It’s an unsupported method, which, as Nalates Urriah has pointed out (here’s one of her posts on the matter), has its own issues and also, as an unsupported method, it could be “broken” at any time by a new technology the Lab might implement. Interestingly enough, it was not LL’s employees that said anything about Liquid Mesh, but TPV developers.

Certain Third-Party Viewer developers expressed a concern that, as things will eventually move forward, the liquid mesh (which is a hack just like the sorely unmissed invisiprims were) will eventually be broken and that by that time, there’ll be a lot of content employing this hack. That content will, of course, be broken, which will cause a few metric shitloads of drama from content creators and trashionistasfashionistas. So, they asked LL to consider blocking the upload of new liquid mesh content – this is also because they want LL to move to a better avatar base instead of mucking about with the current crappy avatar.

What did LL do? Nothing. They haven’t blocked Liquid Mesh and blocking it doesn’t seem to be in their plans for the near or distant future. Perhaps they don’t care if people use it or not. They seem to have a laissez-faire stance on the matter, which I’m inclined to sum up as: do whatever you want, but if it’s an unsupported method, know that it might or will get broken eventually, so make sure you’ll provide your customers with the support they expect from you. Of course, my experience has shown that this is not exactly the way some (or many) content creators roll. Many are either no longer around (or won’t be around) and some will choose to have their customers purchase the updated stuff that complies with the new, official methods, while whining about how LL “broke their content”.

Personally, I say caveat emptor. Research before you buy and, if something promises a lot, think that it may actually be too good to be true. And if the method used is unsupported, be prepared to have a short-lived item in your inventory. Keep in mind that, ultimately, the “rules of engagement” when it comes to content creation are dictated by the official technology developed and implemented by LL. This technological framework may or may not have loopholes that a creator can use to enhance their products’ functionality – but if these loopholes are actually unsupported and “get in the way” of much-needed improvements or cause serious concerns in crucial areas (security, privacy, smooth legitimate use of SL by its users), they can end up being ditched, causing the unsupported content to be broken.

Not made here? It’s not coming in!

It is often said that the mesh deformer isn’t implemented in SL and is not going to happen because Linden Lab’s developers don’t want to implement things that weren’t developed in-house, because they don’t give them a chance to gloat about them, so they don’t want the deformer…

Bullshit. Do you know what LL wants? Your money. It wants you to want to stay in SL and keep renting your virtual land, buying L$, buying virtual goods and thus make it look attractive to more people (consumers and content creators alike) who will come in, rent virtual land, buy stuff from other users, pay to upload textures, sounds, animations, meshes etc, and keep its virtual economy going. And all this, with the minimum possible effort and investment. It’s not rocket science, really. It’s how every company rolls: minimise the cost and maximise the profit.

In reality, LL has the Snowstorm project in place, which regularly and systematically merges TPV developers’ contributions and gives proper attribution. The transition to Server-Side Appearance (SSA) went smoothly, because TPV developers worked very closely with the Lab. And the materials implementation was actually a TPV developer contribution. And these are only a few TPV developer contributions that are being incorporated in the viewer every week, if not more often. In other words: this claim is just stuff that someone pulled out of their arse, and no one in their right  mind should pay attention to it. Let’s move on now.

So, how many people can see materials in their viewer?

Somewhere among all the ongoing mesh deformer-related noise, it was said that LL didn’t bother to implement the deformer that was “ready” (I tackled that one already) and “paid for by the community”, preferring instead to “waste” (as was implied) time, effort and money on implementing materials, which, according to the person that made this claim, can only be viewed by 20 people. Yet another bullshit claim that was pulled out of someone’s arse.

This figure is based on nothing at all. Zilch. Nada. Nichts. Absofuckinglutely nothing. And I mean it. Even LL themselves don’t have stats as to who can see materials, although it is known that approximately 75% of Second Life’s users have graphics processors that can use the Advanced Lighting Model (ALM – formerly referred to as deferred). How many have enabled it is a different matter and it’s (of course) unknown – don’t forget that, in extremely high-lag situations, people who generally run in ALM might choose to disable it in order to help performance. So, about 75% of SL’s users can enable ALM, which is required for them to be able to see materials.

Now, it is clear that the “only 20 people can see materials” claim has two fundamental problems. First of all, it simply does not follow. In SL, we generally  have a concurrency of over 50,000 users at any given moment and, according to the Lab, there are about 1,000,000 (one million) active users. According to the usage stats the Lab has, 75% of these users have GPUs that are ALM- and materials-capable.

Time for some simple math:

  • 75% of the 50,000 users that are usually logged in at any given time is 37,500. It’s quite a bit higher than 20, no?
  • LL says that SL has 1,000,000 active users. And 75% of those are using computers that are ALM- and materials-capable. Last time I checked, 75% of one million is 750,000. That’s much, much higher than the claimed 20 users that are allegedly the only ones that can see materials. Or am I that mistaken?

Let’s go to the second problem of this claim. I don’t believe that the person who threw it out into the wild is stupid enough to not realise it’s entirely unfounded. I believe that they came up with this entirely fictional statistic to leverage the discussion on the mesh deformer into a discussion of LL’s business acumen. But let’s get back to the STORM-1716 JIRA and the discussion that followed, shall we? Karl proposed his deformer, which works on the current (crappy) avatar. And then everyone ignored his “Before you comment” note and threw in all sorts of requests w.r.t. things they wanted the Lab to do before the deformer gets implemented! And what did the Lab (which, as common “wisdom” says, totally ignores its users’ wishes and requests because its personnel gets a kick out of it) do? Did they ship the deformer as it was, as the minority of the commenters requested? No. They opted to do what the majority wanted, i.e. to sit down and engage in a far more complex consideration, which is the replacement of the existing avatar – and, of course, the options they have to avoid breaking content. This, of course, is something that is practically never mentioned, because too many people get a kick out of ignoring the facts, making up stuff and whining incessantly about the stuff they made up (and when you call them on their insane claims, they label you an LL fanboy/fangirl or a member of the FIC).

Power trips and personal dislikes

It’s no secret that Oz Linden is a bit of a Spanish corrida’s red cape to much of SL’s community and, personally, I’m aware of certain past events. But one thing that is gleefully and willingly ignored by far too many people is that people can mature and adapt to their working environment, either because they realise that this is the only way for their work to get done, or because this is the only way they can keep their job, or because they actually end up seeing things differently than they did in the beginning – and the causes are often combined.

Now, let’s get to examine whether Oz actually has “too much power”. Once again, I have to call bullshit. Oz is not the one that makes project management decisions. There are people above him that have this sort of power and it depends on them. What Oz can do is make suggestions and recommendations. As a matter of fact, regarding the deformer, he simply doesn’t have enough power to get things moving, simply because it has been understood (from the discussion of STORM-1716 and STORM-1800) that doing the deformer right will necessitate a rethink of the entire avatar base, and that great care will have to be taken to avoid breaking content.

In a considerable number of user group meetings, Oz has confirmed that he wants the deformer to move forward, but he has also pointed out that avatar design and animation are both areas in which he has no knowledge. So, given what could be potentially at stake with a hasty introduction of any mesh deformer, what would a rational person do? Just throw it on the user base and, if something serious changes later on, risk having a few hundred gigabytes’ worth of broken rigged mesh content that will have the content creators up in arms? Or take their time, seek expert help and then start working on the project, also waiting to see what its true scope will eventually be? Of course, some would say “come on, just ship the deformer now, for the time being, and we’ll see about a new avatar later.” Things don’t work that way. That’d be a stopgap measure – at best – and projects as big as SL can’t do with stopgap “temporary” measures. And, as we say here, “ουδέν μονιμότερον του προσωρινού” – nothing is more permanent than the temporary. Which means that, once you’ve implemented a “temporary” solution, you’re going to be stuck with it (and its shortcomings) for a very long time.

As for the rest of what has been said about Oz, much of it is in the sphere of the gratuitous ad hominem (i.e. personal remarks that have nothing to do with the subject at hand), which should speak volumes in and by itself.

Is the Lab straying away from Open Source?

It has been claimed, as part of the continuing furore about the deformer, that Open Source at the Lab is “dying”. The dramatic tone of this claim could have people believe that the Prok’s broken record-like anti-open source, anti-“geek culture” and anti-“technocommunist” red-baiting rants have finally convinced LL to drop open source as a development model for its viewer. In reality, the ones that claim “open source at the Lab is dying” don’t know what the hell they’re talking about. Maybe I should remind people that the whole materials project was developed by third party viewer developers? Or that the surprisingly smooth transition to Server-Side Appearance was the result of an extremely close collaboration between the Lab and TPV developers? What about the Snowstorm Project Viewer, a viewer channel that aggregates all the open source contributions that have been sitting idle for so long and gradually merges them with the official viewer?

So, no, open source development is not dying. It’s alive and well and the collaboration between LL and TPV developers is very close. Of course, fewer third-party viewers are now available, but that doesn’t mean much: I’d rather have fewer TPVs that will be properly maintained and developed in the long or semi-long run than many viewers with no maintenance, no support and with their projects run by someone who updates them erratically.

“It’s my opinion, I’ll make whatever assumptions I want, I don’t care about the facts!”

Great. First of all, opinions are like assholes; we all have one. Second, contrary to popular belief, opinion is not as good or as valid as facts. Far too often, we see opinions be presented as facts: “I said so, and it’s true because I said so.” But fooling yourself that your opinion, especially an opinion that you yourself admit ignores or downplays facts, is a workable replacement for facts doesn’t make you reliable; in fact, it only  makes you delusional. Furthermore, who is in a better position to speak on a certain matter? Someone who watches the specific matter specifically and tries to learn more every day, or someone who heard something on the grapevine or in a meeting from a gazillion years ago and then goes around claiming that they know it all and have better things to do than attend meetings and get informed about ongoing issues and developments? Draw your own conclusions.

As for whether Oz and the people at LL lie about the deformer, you’d also do well to read this commentary by Nalates Urriah – she’s far better-versed in matters pertaining to 3D graphics than I am.

The deformer was funded by the community, LL has to adopt it

First of all: The deformer was not funded by the community. It was funded by 141 people who raised $5,555, responding to Karl’s campaign on Indiegogo. These 141 people are not the entire SL community. Second, LL is not obliged to adopt it, and I’ll explain why. Besides the technical issues that pertain to the deformer and the existing avatar, as documented and explained by Nalates Urriah, I have to remind everyone that Linden Lab is a corporation that develops and sells a product. We, the users, are its clients, so long as we participate in its virtual economy (by renting virtual land, selling and buying virtual goods, purchasing L$, etc). I’ll also have to remind everyone that:

  • Users are not employees or co-developers of Linden Lab (unless other arrangements have been made)
  • Users are not shareholders of Linden Lab
  • To the best of my knowledge, users are not in LL’s board

While it is true that it is the user base and the value of its activities that adds value to Second life, none of us owns a single share of Linden Lab and, from a legal standpoint, no user can claim that purchasing L$ or making virtual goods makes them eligible to steer the company’s decisions on matters of strategic planning and project management – if it doesn’t fit LL’s product development planning, or if it doesn’t provide solutions for it, LL doesn’t have to adopt anything developed with users’ funding. And, since I mentioned project management…

Both the server and the viewer in Second Life are projects and their development and management has been assigned to certain managerial personnel (as is the case with every other product and project in the world). Their job is to gather and assess information on issues that need fixing, improvement, and then allocate the appropriate resources (personnel, time and money) to do those things – and they schedule when each sub-project will start. Now, from my understanding, as is the case with many other software and IT companies, LL has a pool of developers and assigns them to various project teams according to the priorities, schedules and resource allocation decided by those in charge.

Something else that eludes people is that, before anything is offered by a company, it has to be put through QA. It has to be tested. Alpha testing, beta testing, release candidate stage, etc. And this also takes time. If a product’s release or a new feature’s rollout is rushed, then the fallout from the ensuing fiasco can be catastrophic beyond anything that could possibly be done by the best damage control efforts of the company’s PR team. Getting back to the deformer… It hasn’t gone through proper QA within Second Life. In and by itself, it has issues that are related to Second Life’s avatar. So, while I do want to see this feature move forward, I understand it’s going to be a much bigger project than Karl and his devotees believe and, therefore, I understand completely why LL are taking their time. To be honest, I’d do the same if I were in their shoes.

OK then. What would you do?

First of all, I’d ensure that the last bugs with SSA, materials and the interest list are squashed. Having most of those things out of the way, I’d get proper, expert advice on making a new, proper avatar mesh, with proper geometry and an improved animation system. Then, I’d sit down and examine the code of the existing deformer. I’d adapt it to the new avatar and I’d rollout the new avatar with the deformer. But I wouldn’t replace/delete the old avatar. Instead, I’d leave it there for “legacy” content, giving content creators a chance to update their products with ones that are designed for the new avatar. This would help make the transition from the current avatar to the new one, without any content breakage. However, there is a caveat: certain “legacy” content that was designed for the old avatar (and has not been updated by its creator – for instance, in the case its creator has left SL long ago) might not be easy to work in combination with the new one. Something else I’d do would be to (attempt to) make the avatar system modular, to allow for different avatars (such as proper child avatars or even non-human avatars) to be introduced to the system. Is that a proposition to LL? Maybe. You can be certain I’ll mention it to those concerned – which is far more than what can be said about the whiners that can’t be bothered to come to the meetings and get informed and discuss matters.

As for the rest… Really, all this yelling, screaming, shrieking and whining is not only counter-productive, it’s also misleading and could perhaps be a cover for personal agendas and grudges thatreally do nothing at all to serve the community and the platform. There are some really good blogs out there that provide no-bullshit, no-drama coverage of SL’s workings and developments, technical and otherwise. Read them. Come to the meetings. Get real information – instead of ruminating bullshit of dubious reliability and saying (essentially) “I can’t be bothered to be properly informed, gossip is fine for me”. And, for the love of whatever you hold sacred, avoid the sodding grapevine, don’t eat the yellow snow, and don’t drink the Kool-Aid.

.

See also:

.

Shortlink: http://wp.me/p2pUmX-jF

Advertisements

One thought on “The Mesh Deformer: Setting the record straight

Comments are closed.