Shadowy details! [UPDATED AGAIN]

In my youth as a carefree university student, I had very nice teachers that told me that you could only get shadows on 3D computer-generated images if you developed a ray-tracer. Now, my poor teachers of course couldn’t imagine the technological advances. Teachers at video game design schools today  probably can’t imagine graphic cards that can manage 50 frames per second of ray tracing (we’ll get there!), although the clever programmers have figured out lots of cool tricks to achieve the same with different algorithms that can, indeed, render a scene insanely quickly.

The Second Life® client was able to do shadows… on and off. Some versions had a special flag which you could set via LSL to “activate” shadows. This was dropped recently. And why?… Because one of Linden Lab’s teams of developers is actively doing a complete rewrite of the lighting model, allowing more than 6 lights in a scene and reasonably-drawn shadows.

For now, you cannot download and install this “new version” of Second Life. You first need to compile it on your own. This is definitely not for the faint of heart, and this version will only work on high-end PCs (no Mac support) with the latest graphic cards from nVidea. So it’s not for the “common user”, but it’s perhaps the best example so far of what Linden Lab is starting to do: revamp Second Life so that its graphics engine starts to keep up with the competition from the latest generation of games.

SignpostMarv Martin, with his super-boosted SL-tailored PC, decided to give it a try.

And here is his example with the multiple lights:

Of course, this being Second Life, I’m sure that people will complain about this amazing feature. On one side, we’ll have baffled builders, who currently use “fake shadows” — texture-baked (ie. an object is rendered on, say, Maya, with proper lighting, and the textures exported to Second Life — if you fix the sun on the sim, and do some clever tricks with spotlights, the scene in SL will look like it has shadows, although they will, of course, be fixed) or sometimes just “an illusion of shadows” placed on a separate prim. It adds realism, but… what if people view the scene with the new shadows-enabled client? Then, of course, the whole scene will be mess: fake shadows and “real” shadows all together, breaking the illusion. On the other hand, low and middle-end users will never be able to see shadows anyway. So what should builders do? It’ll be a challenge, unless, of course, you get a way to detect if the SL client being used has shadow-rendering abilities and change the scene appropriately… which will be quite hard to do. Then again, remember how for so many years Web designers had to create specific HTML pages for Internet Explorer, Netscape/Mozilla/FireFox, Opera and Safari/Konqueror?… Only the latest versions of all these browsers start to be able to render any possible page (if you exclude JavaScript differences), and designers still have to worry about their audience when designing a page. Second Life might begin to be like that: builders will not be able to create a single environment for a single, universal client.

Then, naturally, we have more creative opportunities for griefing:

“I do predict there will be at least a small number of cases of parcel encroachment ARs involving object shadows, if not full-blown creative shadow puppetry of phallic symbols and other offensive imagery”, says SignpostMarv Martin. “It would be far easier to cast an offensive shadow into another parcel (even another sim) than it would be to rez a megaprim, especially taking into account the possibility of features being added that allow Residents to return objects that encroach their parcel (regardless of what parcel the root object is in).”

From my personal point of view, of course, this will be a blessing. A few architects I’ve talked with didn’t use Second Life too seriously for their own projects exactly because there were no shadows, and this was a crucially missing feature. I’ve seen several of their movies for their projects. These days, since they use architectural tools who are not as fully developed as a 3D games engine, the results look exactly like a Second Life without shadows. But for an architect, doing it in Second Life is much easier. There is no waiting for rendering time. You can dynamically change things (like colours, or placing objects) while you’re shooting a machinima for your client. And, of course, you can populate the place with avatars, and not mere “dummies”. You can have an external setting too, and not just props. With a shadow-enabled Second Life, with unlimited (well, almost) lights, architects will quickly abandon their own built-in rendering engines and start doing their presentations in Second Life — and tell the client they can log in later and change colours or furniture on their own. Bill Stirling was perhaps the first interior designer doing that, back in 2005.

Needless to say, with lip-syncing (coming soon to a Release Candidate near you!), avatar puppeteering (in the works!), shadows (compile the latest version and you can get them now!), and more lights, machinimas will get another boost after WindLight and the Joystick Camera. Predicting the end of Pixar or Dreamworks is still a few years away, of course, but low-budget animation studios will have no excuse any more. Instead of hiring huge teams of dozens of animators and programmers, they can do good movies with enough realism in Second Life — commercial grade.

Second Life, once more, pushes new features to expand to new markets. It’s getting harder and harder to say what Second Life is all about. With Mono, Havok 4, and possibly the new SL-to-external-servers interface, perhaps even some pretty reasonable MMORPGs will be possible — the old dream of LL to push for a “game designing platform” might start to be a reality in a few years. For me personally, the task of looking at what the future uses of Second Life will be is becoming daunting. More and more it becomes the Swiss Army Knife of all platforms, in a sense even more than things like HTML: because instead of adapting a Web page to do what you need to do, Second Life tends to adapt itself to the tasks you wish to perform with it.

Granted, the user interface is still daunting (but private initiatives like the one sponsored by Dusan Writer might soon create an easy-to-use interface). And of course, grid stability continues to plague us, and will do so for a while still. But at some point, we’ll simply laugh at these “first years of Second Life” and not understand why we complained so much, as we use Second Life every day for business, pleasure, communication, self-expression and arts, and whatever the next “killer application” will be.


Yes, SignpostMarv Martin did another video, comparing the current viewer and the Shadow Viewer side-by-side:

Notice how cool the shadows look through an alpha’ed texture!

And there goes another one. YadNi Monde suggested that SignpostMarv Martin looked at how the Eiffel Tower shadows looks like in the “Paris 1900” sim. Here is the video:

Le Métro looks darker (and there are no shadows underground!) just because all sunlight gets blocked!

[UPDATE 20090128]

If you need to figure out the settings after downloading the latest version from Kirstenlee Cinquetti’s compiled version, she has a blog post telling what to do to enable shadows.

Print Friendly, PDF & Email

About Gwyneth Llewelyn

I'm just a virtual girl in a virtual world...

  • Easy – content creators for furniture ought to add an option to switch the fake-shadow off. As we do in our furniture 🙂

  • Yay, add more unnecessary features. I’ll love looking at my 1 FPS shadows while being unable to teleport, rez stuff or access my inventory.

  • Pretty cool. Looks like implementing shadows is easier than getting HTML on a prim to work 🙂 I mean the interactive variety not the kind we see now. Or better, just getting better video streaming capabilities into SL beyond youtube hacks that work on and off. Cool animations though… 🙂

  • It DOES support Macs and Mac OS X. Katharine Berry from my grid (teen grid), the person who developed AjaxLife has compiled it for her Mac and she’s using it now. (see her Flickr photostream)

  • A detail: Linden Lab is not going to develop avatar puppeteering. More info on sldev mailing list.

  • Really, Opensource? That’s bad news. Do you have a link to it? I understand that 2008/9 were mostly “stability development years” (and that’s why we don’t get any dramatic new features quickly enough), but was the whole project dropped when the developer went away?…

  • Smiley, that’s fantastic news!!!! I stand corrected, and give a big hug to Katherine from me when you see her in-world 😀

  • Erm… I stand corrected. After a little talk with Katharine about the shadow draft, I found out she was using Windows emulation to test it. :-S It’s currently not supported on OS X, as you said.

    Sorry for the confusion… :-/

  • Argh, another correction, my bad: She was using Linux emulation.

  • Gwyneth, you want to check out the ‘Kirstens Viewer’ which is has a shadowbranch that works well (for me, on NVIDIA). I could not get the other shadow viewers to work, but this is a whole lot more simple! =)

  • Wow, AMAZING, Vint, thanks so much for sharing!!

  • Carola Zabelin

    but i dont know how to compile ¬¬

  • Carola, go to the link on the previous comment, and get a pre-compiled version of SL 🙂