Jump to content

second life mirrors


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

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

Recommended Posts

Mirrors are totally possible without creating excessive amounts of lag.* In fact, years ago SL did briefly have working mirrors. 

I'm not certain if LL has ever stated mirrors were impossible due to performance reasons, or if this is an explanation residents came up with to explain why LL hasn't done it. If performance is a concern for LL I can think of a dozen things they could have been doing for years now that would have greatly improved performance for everyone, but they haven't done any of those things.

 

*If LL added a mirrors feature and left it open so someone could make an entire build made out of mirrors, or an avatar attachment with a couple hundred mirrors, that would certainly cause performance issues, but there's also definitely ways to prevent that sort of abuse of a feature, like giving mirrors a higher LI cost to discourage people from rezzing to many, and giving mirrors a super high draw weight cost, making them prohibitive for avatars.

Link to comment
Share on other sites

11 hours ago, Penny Patton said:

Mirrors are totally possible without creating excessive amounts of lag.* In fact, years ago SL did briefly have working mirrors. 

I'm not certain if LL has ever stated mirrors were impossible due to performance reasons, or if this is an explanation residents came up with to explain why LL hasn't done it. If performance is a concern for LL I can think of a dozen things they could have been doing for years now that would have greatly improved performance for everyone, but they haven't done any of those things.

 

*If LL added a mirrors feature and left it open so someone could make an entire build made out of mirrors, or an avatar attachment with a couple hundred mirrors, that would certainly cause performance issues, but there's also definitely ways to prevent that sort of abuse of a feature, like giving mirrors a higher LI cost to discourage people from rezzing to many, and giving mirrors a super high draw weight cost, making them prohibitive for avatars.

Wanna know what grinds my gears? is that there has been a jira opened on this subject since 2014 xD https://jira.secondlife.com/browse/STORM-2055?

  • Like 2
Link to comment
Share on other sites

I can think of several open Jiras for very reasonable feature requests or much needed bug fixes, which have existed a lot longer and still haven't been acted upon by LL. Meanwhile, I've seen LL throw time and money to rush features out that nobody asked for or wanted, which are then quickly forgotten. Or features that require other features to exist to be useful, then never deliver on the other features that needed to come out first, leaving the features they did complete as entirely useless to the users at large.

I will never understand LL's development process.

  • Like 1
Link to comment
Share on other sites

On 22.03.2017 at 6:03 PM, Ghost Warblood said:

Wanna know what grinds my gears? is that there has been a jira opened on this subject since 2014 xD https://jira.secondlife.com/browse/STORM-2055?

 i was actually interested in water reflection.how is it made and Penny  ty for your answer but all pages that i read either on sl community or blogs were explaining how they can cause lag or how it was a firestorm project dropped cus of lag.i just googled "second life mirrors" and lag was the major argument on most pages.

Link to comment
Share on other sites

3 hours ago, cristeabogdan said:

 i was actually interested in water reflection.how is it made and Penny  ty for your answer but all pages that i read either on sl community or blogs were explaining how they can cause lag or how it was a firestorm project dropped cus of lag.i just googled "second life mirrors" and lag was the major argument on most pages.

chances are it was related to viewer-side lag, if they had settings for how many mirrors you can handle (for example some may only be able to handle max of let's say: 3 while someone on a stronger computer could probably handle a max of maybe 10) they could probably get mirrors working in SL as an official feature. otherwise it would just be that infinity effect you can get in any other game if you fell out of the map. (which I could have reproduced with shiny objects in the past)

Edited by Ghost Warblood
Link to comment
Share on other sites

Reflective surfaces like water use a secondary camera to render the scene from the water's "point-of-view". This gets output as a texture which is applied to the water surface, then distorted with a normal map. So effectively rendering every frame twice; This can be done with little performance cost in the case of water because its rendering at a lower resolution and omitting avatars, with less (if any) anti-aliasing and post processing.

Mirrors would be fundamentally the same, but at a much bigger performance cost. They would need to be higher resolution, and include avatars. If the viewer already struggles with decent frame rates in busy regions, imagine the performance if it was having to render each of those frames n+1 times (where n = number of mirrors).

  • Like 2
Link to comment
Share on other sites

On 3/23/2017 at 8:08 PM, cristeabogdan said:

 i was actually interested in water reflection.how is it made and Penny  ty for your answer but all pages that i read either on sl community or blogs were explaining how they can cause lag or how it was a firestorm project dropped cus of lag.i just googled "second life mirrors" and lag was the major argument on most pages.

Like Ghost and Ivan say, the lag in question is a performance hit based on having to render a scene multiple times. So if you want to fill a scene with multiple mirrors all rendering the scene from different angles, then yes, there will be a performance hit that grows with every mirror you place in a scene.

How much of a hit can depend on how the mirrors are rendered. I have to disagree with Ivan that mirrors would need to be higher resolution and definitely include avatars. The amount of detail rendered in mirrors could be controlled precisely how it is done with water, omitting characters (or rendering them in the same way avatar imposters are rendered) as necessary and reflections could be done at lower resolution than the primary scene render and still be effective. Most videogames with mirror effects use lower resolutions for  reflections, as a low resolution reflection can still be far more effective than no reflection at all in the right circumstances.

I would say LL would want to limit the use of mirrors. Either through high land impact costs or by some sort of client side feature limiting the number of mirrors rendered in a scene. Replacing unrendered reflections with environment maps (which I believe people should be able to customize).

Edited by Penny Patton
Link to comment
Share on other sites

13 hours ago, Penny Patton said:

I have to disagree with Ivan that mirrors would need to be higher resolution and definitely include avatars. The amount of detail rendered in mirrors could be controlled precisely how it is done with water, omitting characters (or rendering them in the same way avatar imposters are rendered) as necessary and reflections could be done at lower resolution than the primary scene render and still be effective. Most videogames with mirror effects use lower resolutions for  reflections, as a low resolution reflection can still be far more effective than no reflection at all in the right circumstances.

Oh, yes. I didn't mean higher resolution than the primary render (that would make no sense whatsoever), but higher resolution than the water reflections. Sorry for the confusion :)

Link to comment
Share on other sites

I still don't agree. While I think it would be good to give people the ability to adjust the resolution used in mirror reflections, I believe most people would be satisfied with a resolution at or even lower than the resolution used in water reflections. Remember, we're talking SL here, not a Pixar production. A feature doesn't need to be movie quality to be an effective and engaging addition.

Link to comment
Share on other sites

4 hours ago, Penny Patton said:

I still don't agree. While I think it would be good to give people the ability to adjust the resolution used in mirror reflections, I believe most people would be satisfied with a resolution at or even lower than the resolution used in water reflections. Remember, we're talking SL here, not a Pixar production. A feature doesn't need to be movie quality to be an effective and engaging addition.

the highest water reflection resolution based on black dragon viewer's settings is 2048, 768 on "normal" which is supposedly the LL viewer's ultra.

the water resolution based on black dragon viewer's settings are as followed (from lowest to highest): 256,512,768,1024,1536,2048 BUT for any other viewer I'd imagined it be something like 128,256,512,768,1024 (anything around 128-256 kinda looks pixelly)

 

 @IvanBenjammin anything higher than 2048 would be pointless in terms of SL graphics.

Link to comment
Share on other sites

10 hours ago, Penny Patton said:

I still don't agree. While I think it would be good to give people the ability to adjust the resolution used in mirror reflections, I believe most people would be satisfied with a resolution at or even lower than the resolution used in water reflections. Remember, we're talking SL here, not a Pixar production. A feature doesn't need to be movie quality to be an effective and engaging addition.

Ok :) I would certainly like better reflections for making water inside objects and improving metallic materials, but a far more efficient way to do that is with cube mapping. We have cube maps ('environment' reflection), but the ability to define/customize them would be a much better use of resources. These could be something you import, or baked from your environment.

Not sure why you bring up Pixar? Film rendering has almost nothing in common with realtime rendering, and I was never suggesting that it would need to be 'film' quality to be effective.

5 hours ago, Ghost Warblood said:

the highest water reflection resolution based on black dragon viewer's settings is 2048, 768 on "normal" which is supposedly the LL viewer's ultra.

the water resolution based on black dragon viewer's settings are as followed (from lowest to highest): 256,512,768,1024,1536,2048 BUT for any other viewer I'd imagined it be something like 128,256,512,768,1024 (anything around 128-256 kinda looks pixelly)

 

 @IvanBenjammin anything higher than 2048 would be pointless in terms of SL graphics.

I only use the LL viewer, so I didn't realise other viewers could customize the reflection res. Good to know, thanks.

Link to comment
Share on other sites

2 hours ago, IvanBenjammin said:

Ok :) I would certainly like better reflections for making water inside objects and improving metallic materials, but a far more efficient way to do that is with cube mapping. We have cube maps ('environment' reflection), but the ability to define/customize them would be a much better use of resources. These could be something you import, or baked from your environment.

That would be fantastic. I've been asking for this exact feature for years.

2 hours ago, IvanBenjammin said:

Not sure why you bring up Pixar? Film rendering has almost nothing in common with realtime rendering, and I was never suggesting that it would need to be 'film' quality to be effective.

I'm just pointing out that people tend to greatly exaggerate what is needed for an effective visual feature in SL. You see it a lot.

If you're doing pre-rendered full motion video, then yes you want reflections in mirrors to be full resolution, but for a game-like environment like SL? You can work with much lower resolution and still have the effect add to the experience. LL won't do mirrors because if they do they want them to be full resolution and look great on curved surfaces etcetera, and all with no performance hit. So instead of giving us a fantastic feature that can't measure up to their unreasonable expectations, they give us nothing.

Link to comment
Share on other sites

20 hours ago, Penny Patton said:

I'm just pointing out that people tend to greatly exaggerate what is needed for an effective visual feature in SL. You see it a lot.

If you're doing pre-rendered full motion video, then yes you want reflections in mirrors to be full resolution, but for a game-like environment like SL? You can work with much lower resolution and still have the effect add to the experience. LL won't do mirrors because if they do they want them to be full resolution and look great on curved surfaces etcetera, and all with no performance hit. So instead of giving us a fantastic feature that can't measure up to their unreasonable expectations, they give us nothing.

Even in the latest generation of games, true mirrored surfaces with dynamic reflections are used very sparingly, and these are engines that are light years ahead of the tech that SL is built on. I think LL won't do mirrors because they're aware of the potential abuse and performance cost of such a feature. Not necessarily intentional abuse, just the kind that amateur creators will do. Yes, they can add functionality to limit that, but it seems to me that they're in a constant struggle to improve performance, improve visuals and maintain the freedom of expression that keeps the core SL users here.

Link to comment
Share on other sites

1 hour ago, IvanBenjammin said:

it seems to me that they're in a constant struggle to improve performance, improve visuals and maintain the freedom of expression that keeps the core SL users here.

I wouldn't call it a struggle. I think LL would like to improve performance but they have made no serious efforts to do so.

The biggest performance hit most users face in SL comes from texture abuse. SL is constantly throwing gigs, literally gigs, of textures at you at all times. It is not unusual to see an avatar wearing 500MB worth of textures. Even the tiniest items in an environment, like a mesh drinking cup, might be covered in half a dozen 1024x1024 textures. These textures clog bandwidth, resulting in sims and avatars that seem to take forever to load, and they clog up your videocard's memory resulting in plummeting framerates.

To illustrate just how bad this problem is, I took a full RP sim, a fairly detailed one at that, and spent a month just cutting the texture use. I created newer, smaller textures. I got rid of redundant textures. If two textures were similar I got rid of one entirely and replaced it with the other. This took weeks of full time work, and I don't even want to think of the upload costs, and at the end of all this the sim looked exactly the same.

8923990017_79ac5c2d23_o.jpg.b0128b20c51c6e1380a42a0a441c923e.jpg

The difference was in my framerates, which had tripled. Not only did I triple my own framerates, I also got rid of the SL "stutter" (where SL freezes up every so often as something is loaded) entirely. On top of that, the sim rezzed lightning fast.

8693492935_41dcaf772a_b.thumb.jpg.312298295bf2b72ea0c2ea0d2e24e263.jpg

And these benefits weren't limited to my personal SL experience. I began to get IMs from visitors who were completely flabbergasted by their framerates and fast rez times in the sim. I had people telling me this was the only sim where they could enable advanced lighting. (Shadows also use the same VRAM as textures, btw).

8694588774_613c358f1c_b.thumb.jpg.abd318ccfc282ced9bb1442c396bf4e9.jpg

This was back in about 2011-2012. Sadly the sim is no more, but I still make the same efforts to some extent in every sim I work on.

If LL were serious about improving visuals and performance, while maintaining freedom of expression, they would have done several things over the past few years.

First, with the introduction of mesh and Land Impact replacing Prim Limits, LL would have included texture use into the LI calculations.Old prim content would have been unaffected by this change, but content creators who wanted to produce new mesh content would have quickly learned to be more efficient with their texture use.In fact I was in the mesh beta and pushing LL hard to implement this.

They chose not to.

They had another opportunity to do this when they introduced materials. The change could have been tied to content using materials. Want to use materials? Textures are now calculated in LI costs so creators have to get efficient.

Again, LL was aware of this option and chose not to do it.

Another thing they could have done is a hard cap on avatar Draw Weight. Again, tied to new features so old content would remain unaffected.Avatars can strut around wearing half a sim's worth of attachments and that's kind of insane.

When mesh was introduced they could have introduced this draw weight cap. "If you want to wear shiny, new mesh content, then you have to keep your draw weight down." Now before you say this goes against maintaining freedom of expression I'm going to cut you off and point out that is flat out false. Rather it would have forced content creators to be more efficient. You can have a super high detailed avatar and a low draw weight as long as your attachments are well made and efficient. And it is not super difficult for creators to optimize their mesh content.

Again, this would have been a huge performance boost for SL. Again LL chose not to implement it.

They had the same opportunity again very recently with the introduction of Bento. A popular new feature they could have tied performance boosting caps to nudge content creators into being more efficient. Yet again they chose not to.

 

Either performance simply is not a serious issue for LL or...well, it would be insane but the only other explanation is that performance is a priority for LL, one which they have struggled with and thrown obscene amounts of money and manpower at, all while going far out of their way to avoid learning how 3D rendering actually works.

Edited by Penny Patton
  • Like 1
Link to comment
Share on other sites

You're preaching to the choir :)

22 hours ago, Penny Patton said:

Now before you say this goes against maintaining freedom of expression I'm going to cut you off and point out that is flat out false. Rather it would have forced content creators to be more efficient.

Either performance simply is not a serious issue for LL or...well, it would be insane but the only other explanation is that performance is a priority for LL, one which they have struggled with and thrown obscene amounts of money and manpower at, all while going far out of their way to avoid learning how 3D rendering actually works.

I'm going to go ahead and say it anyway - it would have limited freedom of expression from their point of view. I don't understand the logic, and agree with you that forcing creators to be more efficient is a good thing, the philosophy of LL seems to have been: "Let them create whatever, and suffer the consequences." I think they're realising at this point that its gone too far, and are scrambling to adjust priorities.

There's also the fact that the developers who wrote the original engine, as well as those who bolted on mesh functionality are long gone from the company (as far as I know, anyway), so no, they don't entirely understand the monster they've created.

Otherwise, someone would have removed that idiotic 512mb VRAM lock...

Link to comment
Share on other sites

On 3.4.2017 at 1:23 AM, Penny Patton said:

Either performance simply is not a serious issue for LL or...well, it would be insane but the only other explanation is that performance is a priority for LL, one which they have struggled with and thrown obscene amounts of money and manpower at, all while going far out of their way to avoid learning how 3D rendering actually works.

A little bit of both I think...

Or a lot of both actually :P

Link to comment
Share on other sites

On 4/2/2017 at 8:23 PM, Penny Patton said:

 

Either performance simply is not a serious issue for LL or...well, it would be insane but the only other explanation is that performance is a priority for LL, one which they have struggled with and thrown obscene amounts of money and manpower at, all while going far out of their way to avoid learning how 3D rendering actually works.

It's my belief that they treat the world this way because they need to be able to cater to the lowest common denominator. A lot of people make content as a hobby and perhaps don't have a background in creating video game assets. They wish for their builds to look good for them and don't consider the wider implications of texture bandwidth  . While I'm not condoning inefficient building practices, it is what it is. 

  • Like 1
Link to comment
Share on other sites

15 minutes ago, Cube Republic said:

It's my belief that they treat the world this way because they need to be able to cater to the lowest common denominator. A lot of people make content as a hobby and perhaps don't have a background in creating video game assets. They wish for their builds to look good for them and don't consider the wider implications of texture bandwidth  . While I'm not condoning inefficient building practices, it is what it is. 

I'd be willing to say that the huge majority don't even know there is an "implication."  I certainly did not know when I started SL and began tinkering with things.

Now as far as I can see one of the biggest things that LL fell down on from the start was in it's failure to educate people in best practices.  This failure has probably cost them more money than what educating people would have. 

  • Like 1
Link to comment
Share on other sites

Lots of talk here about lag caused by 1024x1024 textures. Why couldn't the viewer have a setting to limit the maximum texture size? That would be communicated back to the asset servers so they send only as much texture data as selected. Wouldn't that be an effective tool to manage limited GPU memory and asset server bandwidth?

Link to comment
Share on other sites

1 hour ago, Madelaine McMasters said:

Lots of talk here about lag caused by 1024x1024 textures. Why couldn't the viewer have a setting to limit the maximum texture size? That would be communicated back to the asset servers so they send only as much texture data as selected. Wouldn't that be an effective tool to manage limited GPU memory and asset server bandwidth?

That kinda already exists... it's called viewer texture memory buffer in firestorm (or the graphics > rendering > max texture quality) and scene / system memory in black dragon viewer

Edited by Ghost Warblood
Link to comment
Share on other sites

7 hours ago, Perrie Juran said:

Now as far as I can see one of the biggest things that LL fell down on from the start was in it's failure to educate people in best practices.  This failure has probably cost them more money than what educating people would have. 

Oh yes, no doubt about that. Also, we don't have any effective control mechanisms for lag in SL. The land impact system is supposed to do that job but it's so compromised and inadequate it's all but worthless.

Link to comment
Share on other sites

I agree that better usage and actually learning how to use the Prefs would be superior. The same way learning all of the other ins and outs of whatever viewer is being used could save a lot of people buying utterly unnecessary things that add to CPU and script count or whatever, and a way better overall user experience. Then again, the majority of newer users also end up in places like Social Island... <-<; Some of them never go beyond learning basic things, or even explore the larger world... I've never understood why. It's like going to an amusement park and staying next to the ticket booth and just buying tickets all the time instead of going in and enjoying all the rides, because it might involve walking somewhere.

On the subect of mirrors and water and reflections, yeah, it seems it's a camera trick. I've also seen really well-done reflective floors and other surfaces, though how to make it work myself is beyond me at the moment.

Link to comment
Share on other sites

19 hours ago, Berksey said:

 

On the subect of mirrors and water and reflections, yeah, it seems it's a camera trick. I've also seen really well-done reflective floors and other surfaces, though how to make it work myself is beyond me at the moment.

 

Next time you are in a store with an amazing reflecting floor take a sneek peek below the surface ...........

mirrored floor.png

  • Like 3
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2569 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...