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