[opensource-dev] Looking for a PJIRA entry about build grid UI bug with deferred rendering enabled

Tofu Linden tofu at lindenlab.com
Mon Sep 20 02:39:51 PDT 2010


Opensource Obscure wrote:
> When Deferred Rendering is enabled and you're in 
> building mode, the RGB arrows that you use to move 
> prims don't "stop" at the prim surface anymore.
> 
> Deferred Rendering OFF:
> http://m.friendfeed-media.com/948b6fc14d7ec63ec01a1f8f253a48869c6cbcd0
> 
> Deferred Rendering ON:
> http://m.friendfeed-media.com/206e6a7e4a14518e27f084d30c9cec0d58873520
> 
> If I recall correctly, a PJIRA entry already exists 
> for this bug - but unfortunately I can't find it. 
> 
> Can you help me to find it please? I'd like to update it.
> 
> Opensource Obscure

I don't think I've run across a pjira for this, but I'd be interested
to hear.  If it takes too long to find an existing one, please do file
a new one, IMHO it's better to have a few dupes than fail to have a bug
filed at all. :)

Deferred Rendering is a good example of something that LL has no
near-term plans to put more work into (AFAIK), so if some people
outside LL want to keep it somewhat warm/maintained that'd be great
(I love it, but we pretty much have to put our personal time
into it to make progress, it's just not on a LL roadmap right now I
think).

For anyone interested, here's my guess as to why this issue (and a few
like it) are happening - deferred rendering uses an off-screen FBO depth
buffer for drawing the world, but some of our hud overlays (like
the arrow-drawing) assume that they can use immediate-mode drawing to
the back-buffer (the next frame we're assembling for display with the
world, UI, HUDs and everything) at any point and get correct
depth-testing - however, the world depth buffer in the FBO hasn't
necessarily been transferred to the back-buffer, even
though the rendered color data has.

The two optional solutions I see, if this is so, are:
1. (probably fastest, more complicated) - make the tool/hud/overlay
routines bind the FBOs that we've done our deferred world rendering to,
so they're depth-testing against (and drawing to) the FBOs instead of
the depthless back-buffer.
2. (slightly slower, probably much simpler) - copy the FBO depth buffer
to the back-buffer's depth-buffer at the same time we copy the color
data.

-Tofu


More information about the opensource-dev mailing list