How to obtain the full frame?

3 messages Options
Embed this post
Permalink
gr3go

How to obtain the full frame?

Reply Threaded More More options
Print post
Permalink
Hey,

I would need to obtain the full frame after composition. Before I used a simple glReadPixels, but it's not the right choice because it takes too much time to execute glReadPixels (framrate dropped from 70 to 50).
I've been analyzing the compositor module, but I'm not sure how could I solve this problem.

Could anyone help me with some tips?

Regards,
Adam

P.S: I'm happy to hear about Equalizer 1.0, Congrats for all the team! Good work!


Stefan Eilemann

Re: [eq-dev] How to obtain the full frame?

Reply Threaded More More options
Print post
Permalink
On Fri, Jun 5, 2009 at 7:11 PM, gr3go (via
Nabble)<[hidden email]> wrote:
> Hey,
>
> I would need to obtain the full frame after composition. Before I used a
> simple glReadPixels, but it's not the right choice because it takes too much
> time to execute glReadPixels (framrate dropped from 70 to 50).
> I've been analyzing the compositor module, but I'm not sure how could I
> solve this problem.
>
> Could anyone help me with some tips?

The only sure way is to do a readback in Channel::frameViewFinish,
since your channel might contribute to the rendering, i.e., not all
data making up a frame is present in the Frames given to
Channel::frameAssemble. This has a performance penalty, as you've
observed.

You might play around with PBO transfers: have two eq::Images which
use PBO, syncReadback on the previous frame's image and startReadback
on the 'current' image.


HTH,

Stefan.

> P.S: I'm happy to hear about Equalizer 1.0, Congrats for all the team! Good
> work!

Nice to hear. What are you doing with Equalizer?
gr3go

Re: [eq-dev] How to obtain the full frame?

Reply Threaded More More options
Print post
Permalink
Hey,

Thanks for the tips..
I am developing an application for remote visualization using cluster based rendering....
It's a diploma thesis...

Regards,
Adam

Stefan Eilemann wrote:
On Fri, Jun 5, 2009 at 7:11 PM, gr3go (via
Nabble)<ml-user+182939-293588172@n2.nabble.com> wrote:
> Hey,
>
> I would need to obtain the full frame after composition. Before I used a
> simple glReadPixels, but it's not the right choice because it takes too much
> time to execute glReadPixels (framrate dropped from 70 to 50).
> I've been analyzing the compositor module, but I'm not sure how could I
> solve this problem.
>
> Could anyone help me with some tips?

The only sure way is to do a readback in Channel::frameViewFinish,
since your channel might contribute to the rendering, i.e., not all
data making up a frame is present in the Frames given to
Channel::frameAssemble. This has a performance penalty, as you've
observed.

You might play around with PBO transfers: have two eq::Images which
use PBO, syncReadback on the previous frame's image and startReadback
on the 'current' image.


HTH,

Stefan.

> P.S: I'm happy to hear about Equalizer 1.0, Congrats for all the team! Good
> work!

Nice to hear. What are you doing with Equalizer?