Jump to content

Who's using mirrors?


Recommended Posts

Server-side support (mirror probes) for planar mirrors rolled grid-wide this week. Still need the "Materials Featurette" viewer to create and see them. But I haven't had any luck making them behave in a way that is anything like mirror optics. I mean, they're definitely different from just regular shiny PBR surfaces and depend on the mirror probe, so they're at least the feature in question here, but the ones I've tried to make behave very weirdly. I wrote up an "Answers" question about it:

Quote

Mirror, Mirror on the wall, What you lookin' at?

I've never been a big proponent of mirrors so I never played with them on Aditi, but since support rolled across the grid this week and I could think of a couple bathroom mirrors that could stand updating anyway, I downloaded the current Materials Featurettes viewer and gave it a try. With a little playing with a mirror probe I got a planar surface that does indeed reflect my avatar in real time, so it's presumably the much demanded "mirror" but I'm clearly doing something very wrong. The optics are so screwed up it's hard to describe (for starters, the closer the cam gets to it, the smaller the items in the reflection, and below about halfway the surface just stops reflecting, among other oddities). I could make a video to show what I'm seeing, but I obviously don't know what I'm doing and suspect there must be better instructions for how to make these things (my attempt is based on just a few words in the March blog announcement), or even a working full perm sample somewhere I could reverse engineer. 

Any tips where to look next?

I heard somewhere that the mirror probes are hard to set up, so somebody must have at least tried on the beta grid, but I can't seem to make any progress, regardless of how I flail away at it.

Weren't these supposed to be a big deal that lots of people wanted? If so, how the heck are you doing it?

Link to comment
Share on other sites

55 minutes ago, BilliJo Aldrin said:

now you can

Lol. Facts not in evidence. ;) 

Or, I guess yeah, we can look in the mirror. What we see there, though, may or may not be a reflection, and when it is, it's anyone's guess what in the vicinity it'll be a reflection of.

  • Like 1
Link to comment
Share on other sites

Posted (edited)

I still find the real time response to reflections to be rather slow. Anyone else experiencing this slowness in much faster PC's? I'm on a laptop from 2018... 8th Gen Intel i7 CPU, 1050 GPU. 

Edited by JeromFranzic
Link to comment
Share on other sites

Posted (edited)
30 minutes ago, JeromFranzic said:

I still find the real time response to reflections to be rather slow. Anyone else experiencing this slowness in much faster PC's? I'm on a laptop from 2018... 8th Gen Intel i7 CPU, 1050 GPU. 

Are you trying with the mirror probes, though? At least on my machine, they're pretty much real time with my avatar movement, on those lucky occasions I can find my avatar in the reflection. It's way different and (if you can find the reflection) better than the pre-mirror PBR reflections. But the optics are… idiosyncratic, to say the least, in every contorted configuration I've tried so far.

ETA: Guess I should list hardware config from Help/About:

CPU: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz (3911.99 MHz)
Memory: 16236 MB
Concurrency: 12
OS Version: Microsoft Windows 11 64-bit (Build 22631.3527)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: NVIDIA GeForce RTX 3060/PCIe/SSE2

Edited by Qie Niangao
Link to comment
Share on other sites

1 hour ago, Qie Niangao said:

Are you trying with the mirror probes, though? At least on my machine, they're pretty much real time with my avatar movement, on those lucky occasions I can find my avatar in the reflection. It's way different and (if you can find the reflection) better than the pre-mirror PBR reflections. But the optics are… idiosyncratic, to say the least, in every contorted configuration I've tried so far.

ETA: Guess I should list hardware config from Help/About:

CPU: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz (3911.99 MHz)
Memory: 16236 MB
Concurrency: 12
OS Version: Microsoft Windows 11 64-bit (Build 22631.3527)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: NVIDIA GeForce RTX 3060/PCIe/SSE2

OK, guess I'll go back and try again with the LL Materials viewer. And ugh... boot to Win11. (I'm usually in Ubuntu when I spend time in SL.)

Link to comment
Share on other sites

Posted (edited)

Here's a test shot from the latest Cool VL Viewer update, in Linux. The textured ground finally shows up in a non LL viewer! I maxed out many of the graphic settings during this run. 

I'm guessing the mirror looks smoother in the LL Materials viewer. Will check that later.

ETA: oops, forgot to drop the preview shot before snapping... but anyway, I'm running a GTX 1050 for the GPU, Intel 8th Gen i7 8750H CPU, 32 GB RAM, Ubuntu Studio 24.04 LTS.

RumpusRoom2048-CoolVLV_Linux-JerrF-11May2024-1024SLT_001.jpg

Edited by JeromFranzic
  • Thanks 2
Link to comment
Share on other sites

If it's any consolation, all Linden viewers (and the Firestorm PBR beta viewers) are absolute agony to use on my particular machine, too, because there's a segfault in SLPlugin.exe that pops a modal system dialog very frequently, sometimes more than one a minute. (Pain started coincident with Linden's first PBR betas, but nothing to do with PBR nor Windows 11 because both PBR-capable Alchemy and Cool VL Viewer have no trouble. I filed a jira back when jira was a thing, and a Support ticket, poked it as best I know how, with no sign it's in anybody's queue to fix. I'm just assuming Alchemy will pick up the featurettes once the code is fit to use.)

But what I intended to mention before I launched that rant was that there's a Canny feedback report stamped "EXPECTED" which is the only thing I could find about mirrors (which is weird) but it was actually reporting less-than-mirror behavior for those PBR dynamic reflections, which would be expected… except they too noted the reflections get smaller the closer you get to them, which is one of the ways the planar mirror optics also seem scrambled for me.

I'm sure somebody declared victory on mirrors already, now that mirror probes rolled grid-wide.

Oh, re: "smoother", be sure there's no normalmap on the reflective surface. That image doesn't exactly look like that's the problem, but I haven't played with recent updates of Cool VL Viewer so I don't know how much of the "featurettes" Henri has adopted already. Otherwise, the mirror optics of that image look more sensible than anything I've gotten so far.

  • Thanks 1
Link to comment
Share on other sites

FWIW, I just downloaded the experimental CoolVL Viewer 1.32.1.5 that has a kind of dynamic reflections but they don't update anywhere near real time, and look pretty fuzzy to me compared to what I see in the Linden featurette mirror probes, but the optics don't seem scrambled they way I see in the Linden viewer. I *think* CoolVL Viewer's dynamic mirrors are just the dynamic reflection probes in the other viewers, not the mirror probes, but I could be wrong about that.

Link to comment
Share on other sites

Posted (edited)

Mirrors are largely still in alpha state: the experimental Cool VL Viewer v1.32.1.5 I released today got LL's latest ”fixes”, but those fixes are still far from satisfactory, not to mention I am under the impression they actually broke the probe facing face detection, causing slower updates with the same excessive GPU power consumption...

Frankly, I am disappointed with LL's mirrors (blurry, unless you use 2048x2048, very taxing on the GPU), but I consider mirrors in SL largely as a gadget feature anyway: it's just that it is currently way too costly in processing power terms, for a gadget !

This said, I am sure there is still room for improvements (*): let's just hope LL will not push mirrors too fast in a release viewer (like they did already with PBR)...

And that's me, rendered with the Cool VL Viewer v1.32.1.5, in a dynamic 2048x2048 mirror, in Rumpus Room 2049, with PBR terrains rendered in the reflection:

MirrorMirrorWhoIsThePrettiest.png

Frame rate limiter set at 60fps, GPU power consumption 150W (instead of 73W with mirrors rendering turned off)...

 

(*) For example, I think there is something amiss with the mirror mips selection: the reflection turns blurry too soon when your camera gets farther to the mirror, and it's probably because a wrong mip (one with halved resolution) is applied too soon...

Edited by Henri Beauchamp
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Well, some tiny advance here. I can at least get a proper mirror to work semi-repeatably in the Linden viewer now that I stumble on the realization that mirror probes only reflect on their positive Z axis. (Where is any of this documented?) They seem to work better if really thin, like just surrounding the reflective surface. But it's still horrifically buggy, and the whole "mirrorness" of the probe can vanish until you teleport out of the region and back, or sometimes no new probes will work until I relog. It's still very very broken but at least the optics are recognizable now.

I've also tried for a while with the CoolVL Viewer. (Hint to anybody else testing: be sure to turn on mirror rendering—"High resolution probes (mirrors)"—in graphics preferences.) It's confusing that mirror probes created in the Linden viewer don't seem to work at all in the CoolVL Viewer. It sees they're probes, albeit "mirror (static)". One it seems to ignore completely and the other… well, for some reason it doesn't think there's any material at all on the reflective surface inside that probe (it's just a blank material with zero roughness) so that's an unrelated problem. The mirrors I try to create in the CoolVL Viewer aren't working so far, but I'm sure I'm just doing it wrong or haven't relogged enough or something. I mean, the feature itself is just a mess so it's not going to magically work better in another viewer.

But seriously, how much testing did this get on Aditi? And maybe my fault: what should I have read to know about this Z-axis constraint??

  • Like 2
Link to comment
Share on other sites

5 minutes ago, Qie Niangao said:

Well, some tiny advance here. I can at least get a proper mirror to work semi-repeatably in the Linden viewer now that I stumble on the realization that mirror probes only reflect on their positive Z axis. (Where is any of this documented?) They seem to work better if really thin, like just surrounding the reflective surface. But it's still horrifically buggy, and the whole "mirrorness" of the probe can vanish until you teleport out of the region and back, or sometimes no new probes will work until I relog. It's still very very broken but at least the optics are recognizable now.

I've also tried for a while with the CoolVL Viewer. (Hint to anybody else testing: be sure to turn on mirror rendering—"High resolution probes (mirrors)"—in graphics preferences.) It's confusing that mirror probes created in the Linden viewer don't seem to work at all in the CoolVL Viewer. It sees they're probes, albeit "mirror (static)". One it seems to ignore completely and the other… well, for some reason it doesn't think there's any material at all on the reflective surface inside that probe (it's just a blank material with zero roughness) so that's an unrelated problem. The mirrors I try to create in the CoolVL Viewer aren't working so far, but I'm sure I'm just doing it wrong or haven't relogged enough or something. I mean, the feature itself is just a mess so it's not going to magically work better in another viewer.

But seriously, how much testing did this get on Aditi? And maybe my fault: what should I have read to know about this Z-axis constraint??

It's not exactly documented but more vaguely hinted at in their recent blog post announcing the feature

Quote

You can create a mirror using a method similar to reflection probes, but with a twist -- when a reflection probe is set to use the “Mirror” option, all surfaces near the probe will exhibit a real-time mirror reflection, including PBR and legacy materials.

We chose this method to enable maximum flexibility.  For example, you can create a big wall of mirrors and have minimal performance impact regardless of how many mirrors are on that wall. As long as they’re aligned with the mirror reflection probe, they can all show a mirror reflection.

After reading the bolded part my first thought was "wait, I thought reflection probes were omni-directional, how do you align something omni-directional?" and I  guess now we know, along the Z axis (they did state that mirrors are planar but probably should have mentioned that mirror probes are also planar) . :) 

  • Thanks 2
Link to comment
Share on other sites

Posted (edited)
1 hour ago, Qie Niangao said:

It sees they're probes, albeit ”mirror (static)”. One it seems to ignore completely and the other…

This is due to LL's latest change (dynamic/static flag) to mirrors, and that I did backport in the Cool VL Viewer's latest release (please, do read the release notes) :  all mirrors created before this change was implemented will, from now on, be considered ”static mirrors” (i.e. not reflecting any moving ”object” such as avatars, vehicles, particles, etc).

LL did not yet release a corresponding ”featurette” viewer, but when they do, you will see the same consequence on ”old mirrors”...

Quote

The mirrors I try to create in the CoolVL Viewer aren't working so far, but I'm sure I'm just doing it wrong

I do not think the creation process differs with LL's viewer, even though the UI is different (I implemented a specific ”Reflection probe” edit floater, which can also deal with and properly setup probes linked as child primitives of the object they impact)... But I'd need to test LL's viewer more thoroughly (and will do after LL will have updated it to implement the latest changes).

But yes, mirrors reflection probe setup is unnecessarily difficult and inefficient and should be simplified: this would be (an implicit) part of the ”there is still room for improvements” I mentioned in my previous post...

As hints, and from my own empiric experiments:

  • The reflection probe shall be rotated in the ”right” direction to properly render the reflection on the face you want to use as a mirror (which depends on the face number).
  • The reflection probe primitive center shall be centered on the center of the face (and not the prim the faces belongs to) used as a mirror.
  • The ”depth” of the probe (i.e. the dimension of the probe perpendicular with the mirror surface) shall be adjusted (reduced) to avoid ”cubic” reflections in the mirror.
  • The size of the probe shall be adjusted to be a bit larger than the face of the mirror, that is until you do not see any blur/distortion on the mirror edges.

Most of these constraints (i.e. at least the first three of them) should be lifted, for a full ”release quality” mirror implementation...

Edited by Henri Beauchamp
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Doug-Aitken-16-Lance-Gerber.jpg

Do not do this.

 

Doug-Aitken-47-Lance-Gerber.jpg

Well, maybe.

These were part of an art installation called Desert-X, near Palm Springs.

Easy to do in SL. If you do this, have enough land that you can have your own mountaintop or something. Or maybe put this on top of an office building.

  • Haha 1
Link to comment
Share on other sites

20240516_Mirror_PBR_Viewer.thumb.jpg.c34676107080c5fb6b60bb5040680a5d.jpg

My testing with mirror using the SL Viewer, the distortion is quite evident, where this can be improved by adjusting dimensions of the probe box.

20240516b_Mirror_PBR_Viewer.thumb.jpg.07e50d5d30e1acb984973055a424f8b3.jpg

The best mirror effect I got, was adjusting the dimensions as shown above. The reflection probe just plain box with dynamic enabled. With all graphics set to max and reflection to dynamic and full scene GPU usage 30%, CPU 5%.

 

System info:
Second Life Release 7.1.7.8974243247 (64bit)
CPU: Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz (3792.01 MHz)
OS Version: Microsoft Windows 10 64-bit (Build 19045.4412)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: NVIDIA GeForce RTX 3070/PCIe/SSE2
Windows Graphics Driver Version: 31.0.15.5212
OpenGL Version: 4.6.0 NVIDIA 552.12

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Rachel1206 said:

My testing with mirror using the SL Viewer, the distortion is quite evident, where this can be improved by adjusting dimensions of the probe box.

20240516b_Mirror_PBR_Viewer.thumb.jpg.07e50d5d30e1acb984973055a424f8b3.jpg

Based on what @Qie Niangao  was saying about aligning mirror probes i.e.

On 5/12/2024 at 12:14 PM, Qie Niangao said:

mirror probes only reflect on their positive Z axis.

and assuming that the object you have selected in the screenshot is the mirror probe then the distortion may be due to not having the mirror probe aligned correctly?

Link to comment
Share on other sites

26 minutes ago, Fluffy Sharkfin said:

Based on what @Qie Niangao  was saying about aligning mirror probes i.e.

and assuming that the object you have selected in the screenshot is the mirror probe then the distortion may be due to not having the mirror probe aligned correctly?

I did align and double checked, the mirror though is is slightly tilted on the z-axis, where I would expect small discrepancy in change on the angle of inclination will have this effect.

That said, the mercury in an old antique mirror from 1750 would distort reflection 😄

Link to comment
Share on other sites

41 minutes ago, Rachel1206 said:

I did align and double checked, the mirror though is is slightly tilted on the z-axis, where I would expect small discrepancy in change on the angle of inclination will have this effect.

That said, the mercury in an old antique mirror from 1750 would distort reflection 😄

Okay, it's just a little confusing because in that screenshot you have the Z axis of the probe pointing at the ceiling rather than at the mirror.

Still at least it is, as you point out, more authentic.  Just another "happy little accident" as Bob Ross always used to say! 😆

Link to comment
Share on other sites

I think I'm still on the version of FS, right before the one that has access to PBR.

I know I have it on my version of Black Dragon, but  not sure about my FS..  I can't remember updating it though.

Link to comment
Share on other sites

15 minutes ago, Fluffy Sharkfin said:

Okay, it's just a little confusing because in that screenshot you have the Z axis of the probe pointing at the ceiling rather than at the mirror.

Judging by the X and Y arrow orientation, I'd guess that Z is World axis, not the object's Local axis. But that said, that reflection does not look like the mirror effect in the Linden viewer.

I gotta say, the Linden viewer's mirror effect is pretty flaky, though. I sometimes do need to go to a different region, relog, and go back in order to see what the mirror's state actually is. One thing that can sometimes trigger this is to "Take Copy" of a working mirror: the copy i get in Inventory is okay, but the one I copied may lose its "mirrorness". Also, if I stretch the mirror with "Lock Repeats" enabled, sometimes the reflection scales with the mirror surface which may result in an extreme close-up mirror effect. It's all just very strange, but when it behaves, the results are pretty convincing. This is a very old dressing-room mirror that slants toward the ceiling a bit; it's a little hard to read the picture, but the eye is about knee level with the lightbulb-surrounded mirror to the right.

image.thumb.png.dbf98cc2e46b582851dbd22ba42d6601.png

  • Like 4
Link to comment
Share on other sites

1 minute ago, Qie Niangao said:

Judging by the X and Y arrow orientation, I'd guess that Z is World axis, not the object's Local axis. But that said, that reflection does not look like the mirror effect in the Linden viewer.

I gotta say, the Linden viewer's mirror effect is pretty flaky, though. I sometimes do need to go to a different region, relog, and go back in order to see what the mirror's state actually is. One thing that can sometimes trigger this is to "Take Copy" of a working mirror: the copy i get in Inventory is okay, but the one I copied may lose its "mirrorness". Also, if I stretch the mirror with "Lock Repeats" enabled, sometimes the reflection scales with the mirror surface which may result in an extreme close-up mirror effect. It's all just very strange, but when it behaves, the results are pretty convincing. This is a very old dressing-room mirror that slants toward the ceiling a bit; it's a little hard to read the picture, but the eye is about knee level with the lightbulb-surrounded mirror to the right.

image.thumb.png.dbf98cc2e46b582851dbd22ba42d6601.png

Which is the "real", and which is the "reflected" image?

Link to comment
Share on other sites

7 minutes ago, Love Zhaoying said:

Which is the "real", and which is the "reflected" image?

Yeah, that's what I was afraid might be confusing. The mirror reflection is on the right; the mirror is surrounded by glowing fullbright "lightbulbs", the two big ones on the right are on the right side of the mirror and the ones further away are themselves reflected in the mirror image.

No wonder my dog is so confused by mirrors. Damned things are confusing!

  • Thanks 1
Link to comment
Share on other sites

Just now, Love Zhaoying said:

I caught one of my dogs licking a mirror the other day. (But whyyyyyy???)

You know dogs. 99% of everything they do is because something smells interesting.

  • Like 1
Link to comment
Share on other sites

My impression so far is that I'm probably too dumb to figure it out. Are they meant to be in extremely low resolution? I've looked for a setting but it might be tucked away somewhere obscure. I've also tried the Firestorm PBR beta and Alchemy both so it's probably less the viewer and more a setting I am messing up on them.

  • Thanks 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...