[sldev] Reviving a lost First Look feature - water reflections?
Dave Parks
davep at lindenlab.com
Mon Mar 5 08:48:29 PST 2007
I should be clear that all of the various forms of "Dynamic Reflections"
thus far have been experiments and should not be interpreted as a
replacement for shiny. The only reason they replace shiny is for
testing. The 57575 version used a shader to add perspective to the
reflections, but that technique had to be thrown out due to
inconsistencies in depth values between the fixed function and
programmable pipelines on some cards (lots of people got no shiny when
turning on reflections in that build).
To be blunt, being able to fake good images does not make the reflection
map hack worthwhile. The performance hit in areas that are avatar heavy
was too much, the visual quality was too low, and the aliasing on flat
surfaces was too glaring. Right now, we're leaning towards having two
or three levels of reflectivity that would basically specify the
"blurriness" of reflections in an object. The current version would be
an example of "medium" reflectivity (probably not the right word), which
is an anti-aliased 32x32 cube map. These maps would not be live and
would not include moving objects like avatars, particles, or moving
prims. The live reflections would probably be a fourth option, but
would only be applied to nearby objects. The perspective correcting
shader will not be making a comeback, so live reflections will always
look terrible on flat surfaces. The visual quality of the low res cube
map is hit or miss depending on the area. In some places, it looks
fantastic, in others, quite dull. Adding lights to the reflection pass
would probably help a lot.
As for planar reflections on arbitrary prims, that would require a
full-blown portal system, which is something I could totally get behind,
but I'm not planning on working on it myself any time soon.
Argent Stonecutter wrote:
> I was able to fake good images using the reflection code in First Look
> 57575 on the Mac (you can see links to them in the thread 'How mirrors
> work' in the first look forum, I believe) by taking a shot close to
> the mirror. I don't know what the exact difference was between 57575
> and the following releases, but the quality of plane reflections was
> outstanding in that version.
>
> If the cube map hack requires 6 extra renders, then I'm really
> impressed with the performance! What about supporting _up to 6_ planar
> renders, and assigning them to the 6 closest plane surfaces with the
> "mirror" tag set (or water plus five if there's water in draw
> distance), with the camera set to the optically correct location for
> each rendering pass? Curved surfaces could continue to use the
> reflection of the sky box as they do now (this really looks better
> than the low-res cube map you get if you turn on
> RenderDynamicReflections in the current FL).
>
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html
More information about the SLDev
mailing list