Jump to content

Is it possible to make a working mirror in SL?


Jennifer Boyle
 Share

You are about to reply to a thread that has been inactive for 3558 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

No, but the question comes up a few times a year,like this >>> http://community.secondlife.com/t5/Building-and-Texturing-Forum/High-gloss-floor-with-reflections/m-p/1209547/highlight/true#M4158

Sometimes people have really inspired ideas >>> http://community.secondlife.com/t5/Art-Music-and-Photography/Your-avatar-in-a-mirror-a-random-Suella-guide/m-p/791921/highlight/true#M674

As Amethyst says, though, real reflections are just too computationally intense for SL to handle.

Link to comment
Share on other sites

A voice from the void reminds me that it was possible to make true reflecting mirrors in SL for one brief experimental period in about 2006, but that Linden Lab gave it up, presumably because it was a resource hog.  If you search on Google, you can still find a few videos made during that period ....

http://www.veoh.com/watch/v18139508nQX8WtG3?h1=Second+Life+Working+Mirror+%28Realtime+Reflections%29

Link to comment
Share on other sites

Well, it wouldn't necessarily have to be done EVERY time a view changed.  Nor would it necessarily take a 'monster' chunk of memory.

 

Reflection/Environment maps are well defined in gfx pipelines these days.  Highly optimized shaders exist to handle them.  The only real requirement for 'real time reflections' is to render an environment map for EACH reflective object in the view.  Now, obviously, that needs somre control, since it could get out of control quickly.  Limit the resolution for each based on the projected bounding box in the viewscreen (meaning most objects would only get 128x128 resolution env. map each time.  Also, EVERY frame isn't a necessity.  Every other, or every third frame, or even more, would still look good.  Debug settings could control just how often and what max resolution for such maps could be generated.  Doing a 128x128 pixel render of the world from the view of the object would take a very small amount of time (compared to a typical 1024x768 or higher main viewport render), so the hit is really from the number of such 'reflective' objects in a scene.  Put a limiter on that as well (another debug setting) and much like lighting, only handle the biggest 10 or so.

 

Suddenly, real-reflections aren't so unreachable or resource hungry.  Allow disabling them for those with weaker systems.  I wouldn't make shiny use the new shading system, since that would QUICKLY overblow it.  Add it as a new shading option.

 

The trick of course is the sub-renders of the maps.  Doing them as cubics is unneeded, since half of it would never be visible.  Better to do a spherical map render, but that's a little more complex, mathematically speaking.  And the maps for any given prim type could be optimized.....

 

It's not a simple thing to do, but it COULD be done.

 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...
  • 7 months later...
You are about to reply to a thread that has been inactive for 3558 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...