Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Mirrors or reflections?

George Ratner
Registered User
Join date: 30 Apr 2006
Posts: 11
01-18-2010 19:40
Something I have never been able to find in Second Life is a mirror or an object accurately reflecting the objects around it. I have seen the effect accomplished with textures, but its not very convincing unless you look at it from the right angle. So my question is, is it possible to make a mirror that you can see your avatar in, or say a wooden floor that reflects the room, or windows that reflect other buildings. If it is possible how would one go about it.
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
01-18-2010 20:19
Nope, not possible. With the exception of water, surface reflections are not a capability of SL's current graphics engine. They've experimented with it from time to time, but they've got much bigger fish to fry before that particular feature would be practical.

There are ways to fake it, though. For example, if you give a room a translucent floor, and build an inverted copy of the room directly below, the translucent floor will appear to be reflective. Where the illusion fails a little is when it comes to avatars. The effect is a bit like what Dustin Hoffman said in the movie Sphere, "It's reflecting everything but us." While the room contents will appear to be reflected, avatars will not. Still, it can be pretty convincing.
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
01-18-2010 20:37
for the water trick, you can mount a house sidways against open water to get a wall mirror (you have to play with the windlight settings) which is good for limited shots, but it takes a little bit to make it convincing in video (requires fly cam to be used, or some very heavy editing in post.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
01-20-2010 01:15
I actually tried that, and it works pretty well. There's a bit of noticeable lag between the in world motion and the reflected motion, but the effect is pretty good. It's not too difficult to set it up in the settings as there's already a mirror reflection setting for water. I just set that, and set a blank (white) texture for both the water and normal maps. The end result is also a tad grainy, but it's a cool technique! As Void pointed out, it's REALLY difficult to setup the scene for making a video if you want to move the camera around since everything is sideways. All the camera controls are off because you're turned 90 degrees. It's alot easier to just make a clear prim floor in a house to see the effect without dealing with the camera issues. You can see yourself as well as the house reflected quite well.

At one point in time (before windlight came along), there was a setting in debug called RenderDynamicReflections, which did work to a very slight degree. I made a prim, blank white texture with full shiny set, and rezzed a red, green and blue cube. You could BARELY make out the cubes in the reflection and it was really really fuzzy. The debug setting is gone now though, and I have no idea if they plan to add specular highlights down the road or not. Would be neat if they do, but for now, I'm more excited about, and can't wait for, global illumination, which will certainly be along before specular highlights.
_____________________
My tutes
http://www.youtube.com/johanlaurasia
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
01-20-2010 08:28
From: Johan Laurasia
There's a bit of noticeable lag between the in world motion and the reflected motion

this is reduced the better your video card is and the faster your system runs in general (all reflections are local effects)
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Rime Wirsing
Color me gone
Join date: 31 Dec 2008
Posts: 345
01-20-2010 10:09
There is a video here...

http://www.youtube.com/watch?v=0wzN0jaDOzM

http://www.youtube.com/watch?v=0wzN0jaDOzM

If only :)
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
01-20-2010 11:06
From: Void Singer
this is reduced the better your video card is and the faster your system runs in general (all reflections are local effects)


I imagine so, (thanks for pointing out my $120 video card...lol). Overall though, my card isn't that bad, and the lag is very slight.
_____________________
My tutes
http://www.youtube.com/johanlaurasia
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
01-20-2010 16:13
From: Johan Laurasia
I imagine so, (thanks for pointing out my $120 video card...lol). Overall though, my card isn't that bad, and the lag is very slight.

you don't wanna know what I paid for my last one, but the one prior to it was ~60$US and amazingly still runs SL... doesn't like windlight to much though.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-20-2010 16:22
It was briefly possible in (if I recall correctly) 1.13.57575...


_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
01-20-2010 20:21
From: Argent Stonecutter
It was briefly possible in (if I recall correctly) 1.13.57575...




Wow.. amazing images... I have one in my inventory, I'll see if I can get it up. I was taken with my last video card (which literally blew up on me, the fan cracked, and the whole PC shut off on me while I was giving a friend an item.... lol) My last card was an NVidia 7600 (GT or GS, G somethin'). My current is a 9800 GT with 1 gig of memory. Those images Argent's links point to are WAY better than what I was getting. Mine were so fuzzy you could only make out the colors really, not the shape. My guess is they abandoned that when the started the move to Windlight, as that sort of feature would fall under the new rendering that Windlight was using. Since water reflection is done so well, and it's so easy to 'fake' a mirror using Windlight water, One would think that it would be pretty easy to implement without too much modification to the viewer. However, water is always facing 1 direction, and you can't make water face water, but not true with mirrors. RL mirrors render to infinity (with no lag!), but CG mirrors have to pick a depth value (2 or 3 usually). Other than that, I think it's pretty much a more or less done deal already. I'll talk to Aimee Linden about it, see what she says.
_____________________
My tutes
http://www.youtube.com/johanlaurasia
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-20-2010 20:47
They only got them that good for one specific "first look" release. The following release was nowhere near as crisp, and a couple of releases later they gave up and fuzzed them out.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
01-21-2010 03:28
http://johanlaurasia.tripod.com/dr.jpg

(you might have to copy the link to a browser to get it to display...)

The date on it is July 26th of '07. Not sure which viewer I was using at the time, but I think it was most likely the current stable release of the time because windlight was REALLY unstable when first released and crashed ALOT, so I didn't use it much other than to check out windlight back in those days. Also, I noticed that (while browsing around debug settings back then) that that very same day, within a half of an hour of taking that pic, I had taken another one showing renderGlow TRUE. This was some time before they had announced glow and added it to the viewer.
_____________________
My tutes
http://www.youtube.com/johanlaurasia
Ceera Murakami
Texture Artist / Builder
Join date: 9 Sep 2005
Posts: 7,750
01-21-2010 04:42
I recall experimenting with this when it was an option. Unfortunately, the angle of of incidence and angle of reflection never were calculated correctly, and there were severe issues with distance between the reflective surface and the prims or avatar to be reflected. It also cost a lot in terms of calculation, if there was more than one reflective surface involved.

LL's "solution" was not to fix the calculations so they were accurate, but rather to fuzz out the detail level so maybe you could at least get a vague reflected highlight on a surface. Then they gave up even on that.

Windlight water is an entirely different set of code, that they bought whole-hog from non-LL code developers. If they bother to analyze how the Windlight code handles angle of incidence, angle of reflection, and distances between surfaces, they could *probably* figure out how to fix or replace their earlier buggy attempt at mirror surfaces. But making it available on multiple surfaces at any random angle makes the calculations far more complicated than allowing only one flat, level surface in a sim to reflect.

But even if they fixed their code, the issues with calculation load from multiple rencered reflective surfaces still remain. Each surface allowed increases calculation time, because it has to calculate the whole ecene in terms of what can be seen reflected off that surface, possibly including reflections of other reflective surfaces. Until we get much faster Internet access speeds and much faster baseline computer system speeds for users, I doubt we'll see randomly assignable, real-time interpreted 3D mirror surfaces in virtual worlds.
_____________________
Sorry, LL won't let me tell you where I sell my textures and where I offer my services as a sim builder. Ask me in-world.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-21-2010 05:36
From: Ceera Murakami
I recall experimenting with this when it was an option. Unfortunately, the angle of of incidence and angle of reflection never were calculated correctly, and there were severe issues with distance between the reflective surface and the prims or avatar to be reflected. It also cost a lot in terms of calculation, if there was more than one reflective surface involved.
It didn't make any attempt to calculate the correct angle, because it used a common environment map for all mirrors. The overhead was constant, too, because it used the same environment map for all objects... so there was no additional overhead from multiple reflections... they were faked by including reflections from the environment map from the previous frame in the environment map from this one. If you saw extra overhead from multiple objects that was due to a problem with the environment map shader on your video card.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
01-21-2010 06:46
I wonder if they could cause the calculations to be passed through physics instead of main video cards... CUDA or Stream should be able to handle those sorts of things both quickly and efficiently for folks that have separate physics processing. this would allow them to expand options for higher level rigs without obsoleting lower level ones.
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Johan Laurasia
Fully Rezzed
Join date: 31 Oct 2006
Posts: 1,394
01-21-2010 11:33
Good points Void.

Also, LL didn't buy the code whole hog from another company, they bought the entire company and hired in all the coders who created Windlight. Perhaps there was some issue they couldn't get over the hump on, or, the powers that be just decided it was too low of a priority and just back burner'd it.
_____________________
My tutes
http://www.youtube.com/johanlaurasia