On 3/25/11 10:28 AM, Stefan Eilemann wrote:

On 25. Mar 2011, at 15:23, Dardo D Kleiner - CONTRACTOR wrote:

Is there a way to determine the overall screen frustum of a set of channels 
from *outside* the channels' render context?

I'm trying to position 2D elements wrt the view (like statistics are drawn in 
frameViewFinish), but need to know the overall pixel width/height before the 
frame is drawn (to build/position the geometry).  Seems 
getViewport/getPixelViewport are only valid within Channel::frameFoo functions 
(not, e.g., in Pipe::frameStart).

Does frameViewStart help? This is only for destination channels, so I'm not 
sure if that helps you. Outside Channel::frameFoo they return the channel's 
native data, i.e., the pvp and vp relative to the window.

Non-destination channels do not have this information, since it is only 
determined at draw time for which destination channel they render. In fact, 
they might render for different dest channels during one frame.

The full scope of possibilities with Eq configs still eludes my complete 
comprehension!

Perhaps if I explain a bit more of what I'm attempting. At Pipe::frameStart (the "highest" thread-safe point I believe), I'm trying to update an OSG scene that will be draw by the Channel::frameViewFinish (glOrtho'ed given the screen frustum at that point, just like stats are drawn). Do you suggest that I move the geometry down to each channel and build it in frameViewStart based on the pvp-to-vp ratios)?

- Dardo

_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to