[eq-dev] Getting the Field-of-view for a particular segment when rendering?

1 view
Skip to first unread message

cpapado

unread,
Jan 23, 2012, 8:24:23 PM1/23/12
to eq-...@equalizergraphics.com
My application requires the per-segment FoV when rendering the contents of a
segment (I am doing some LoD related stuff that require this).

Is there some way to get to this info from inside eq::Channel::frameDraw()
(or at least get access to the current Wall and Segment geometries so i can
calculate it manually for a given viewer position)?

--
View this message in context: http://software.1713.n2.nabble.com/Getting-the-Field-of-view-for-a-particular-segment-when-rendering-tp7218596p7218596.html
Sent from the Equalizer - Parallel Rendering mailing list archive at Nabble.com.

_______________________________________________
eq-dev mailing list
eq-...@equalizergraphics.com
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Stefan Eilemann

unread,
Jan 24, 2012, 9:29:44 AM1/24/12
to eq-...@equalizergraphics.com
Hi,

On 24. Jan 2012, at 2:24, cpapado [via Software] wrote:

> My application requires the per-segment FoV when rendering the contents of a segment (I am doing some LoD related stuff that require this).
>
> Is there some way to get to this info from inside eq::Channel::frameDraw() (or at least get access to the current Wall and Segment geometries so i can calculate it manually for a given viewer position)?

You can't, by design, get to the wall/segment stuff from the render clients.

When you need the FOV there is often a deeper underlying problem: Getting the FOV of a segment is not enough, since the same image might be generated by multiple segments or a big, single display. Getting the FOV of a canvas does not work for non-planar surfaces. The FOV might change through the view's wall description. Tracking is another variable.

What you often want for LOD is the screen-space coverage of your geometry in pixels or centimeters as an input parameter. This you can compute without having access to the segment/canvas.

That said, I strongly advise to look at your LOD code. If you really want to go the FOV route, '1 / vp.w * pixel.w' should give you the theoretical fraction of the destination canvas covered by your channel, the frustum gives you the sub-FOV.


HTH,

Stefan.

--
View this message in context: http://software.1713.n2.nabble.com/Getting-the-Field-of-view-for-a-particular-segment-when-rendering-tp7218596p7220538.html

Reply all
Reply to author
Forward
0 new messages