Linden Lab announces normal and specular maps coming to SL

Today, Linden Lab has announced a major new open source initiative to improve graphics rendering performance within the viewer. The announcement reads in full:

One of the challenges that virtual world creators face is the trade-off between rich visual detail and geometric complexity. Ideally, by adding more and smaller faces to an object, a designer can model different surface textures and create realistic variations in the interplay of light and shadow. However, adding faces also quickly increases the size of the model and its rendering cost. Normal and Specular Maps are ways to address this by allowing for the appearance of a complex surface without actually modelling fine scale geometry. 

A Normal Map is an image where the color codes indicate how the renderer should reflect light from each pixel on a surface by modifying the direction that the pixel “faces” (imagine that each pixel could be turned on tiny pivots). This means that pixels on a simple surface can be rendered so that they appear to have much more detail than the actual geometry and at much lower rendering cost. Light and shadow are rendered as though the surface had depth and physical texture, simulating roughness, bumps, and even edges and additional faces.

Similarly, a Specular Map allows each pixel to have its own degree of reflectivity, so that some parts of a single face reflect sharply, while adjacent pixels can be dull.

The open source developers of the Exodus Viewer are contributing Viewer support for Normal and Specular Maps, as well as some additional controls for how light reflects from faces. Linden Lab is developing the server side support so that this powerful tool will be available in Second Life.

Design and development are under way. Watch this blog and the Snowstorm Viewers page for information on when test Viewers with these new capabilities become available.

For additional information, or to learn more about how you can participate in the open source program, please contact

A video has also been released, demonstrating the capabilities.

With thanks to Pete Linden for the heads-up


25 thoughts on “Linden Lab announces normal and specular maps coming to SL

  1. Excellent, finally they are taking my advice and outsourcing creation of cool features to the community. Kudos to the Lab and Exodus.


    1. The project has, I understand, been underway for quite some time now. I’m not sure this is a case of “outsourcing”, or rather the result of the Exodus approaching LL with a proposal. The company has previously indicated a willingness to receive proposals from TPV developers, so my guess is that this is the first practical outworking of that approach.


      1. I like to see this type of engagement with third party developers. SL is Open Source, for better or worse, and this type of development is a benefit of that strategy. I know the Lab is open to these proposals but don’t know much about the history of LL’s openness, but I can’t help but thinking the Lab could open some problem resolutions open to proposals also. I have one problem in mind, but dare not speak it’s name (wink, wink).


        1. I would also like to see this type of collaboration in speech to text. Some dictation programs do not work with SL at all. And thus the only way I can type, having a disability. Many cell phones have this technology why can’t SL have apps.


  2. Lets hope so, but looking as users refuse to change to v3 viewers, even if some are really amazing, i doubt only a few will be able to enjoy this!


    1. These days, the majority of people are on V3 based viewers, the Phoenix crowd making the largest dent in that still. Most TPVs are v3 based, with the exception of Phoenix, Singularity (which use the v3 graphics renderer anyways I think), and CoolVL.
      Given that, I don’t see the problem.


      1. Thanks, Chalice – beat me to the reply 🙂

        Henri is in the process of cutting over to the V3 rendering code as well. He has had an Experimental out based on it for the last few weeks.


          1. Firestorm will be incorporating the code, like the rest of the “current” TPVs, once the code is available for merging.


      2. And if it turns out anything like Mesh did, there will be backports. It’ll be easier for Singularity to have this back ported and other V1 TPVs with the V3 renderer however, given the level of changes going into the renderer. I’ll detail this more once we get to a state where we can start releasing code for the new materials feature.


  3. Wow, this is amazing news. Sure, we all knew that LL would have to go this route “sooner or later”. It’s not only because “it looks so much better” (although that’s a practical reason for regular users to become enthusiastic about it!), but because it saves a lot of work. Meshes can become far simpler this way — which means far less Land Impact, which means that finally we might start seeing some good-looking furniture with low LI! — which means less lag (since even old graphic cards are mostly able to do at least normal and luminance maps in the GPU — I looked it up for my ancient ATI Radeon X1600, and yes, they are supported!) and more happy residents.

    I just never thought it would be so quick! Then again, it was clever of them to co-opt the work from Exodus. Mmh now I want to try Exodus 🙂 … since it’s mostly a “gamer” viewer, I never had any reason to download it. Now I do 🙂


    1. Again, the work wasn’t co-opted :).

      LL have been effectively been offering TPVs the opportunity to submit proposals for work that may impact the “shared experience” since the TPV Policy was changed (if not before). The Exodus team opted to take LL up on this, and submitted a proposal a while ago.

      As to taking Exodus for a test-drive ahead of the new code rolling out from LL, I recommend it; it does have several “gamer-inspired” elements to it, but it is also very much geared to the photographer and machinimatographer as well, so has a lot of goodies on offer!


  4. teehee!

    Hopefully viewers other than Exodus and LL’s official viewer will pick this up A.S.A.P. LL’s viewers are no longer OpenSim compatible, and now that Exodus has signed onto the Havok sub-license, it cannot be used with OpenSim either. I’m guessing that the Zen or Teapot viewers will incorporate the client side code as soon as it’s made available.


    1. The server-side aspects of this should be quite straightforward, I would think. All that’s needed is additional “channels” to transmit texture information on – specular maps and normal maps are just ordinary 2D images.


  5. Why do I have the queasy feeling that, server side, they’ll only hang these maps on Mesh? Even though, viewer-side, it’s the same for any surface.

    Has Oz said, one way or another?


    1. We’re targeting having it applicable to prims, sculpts, and meshes (and the method we’re going with will definitely support this).


Have any thoughts?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s