discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Use of OpenGL in gr-qtgui


From: Alexandru Csete
Subject: Re: [Discuss-gnuradio] Use of OpenGL in gr-qtgui
Date: Sun, 27 Mar 2011 10:10:35 +0200

On Sun, Mar 27, 2011 at 1:37 AM, Marcus D. Leech <address@hidden> wrote:
> So, surfing through the gr-qtgui source code, it's not clear to me whether
> the Qt widgets use OpenGL rendering or not.
>
> If they do, then are the Qt widgets equally-likely to provoke some of the
> horrible problems I've seen with the OpenGL in
>  WxWidgets used in Gnu Radio?
>
> The OpenGL "eco-system" seems to break randomly, even for apparently-correct
> applications, particularly when the DRM
>  is used in the X server, but only on certain hardware.  This makes it
> difficult to predict whether a given Gnu Radio application
>  will at some point fail, when run on hardware whose
> OpenGL/DRM/whatever-the-heck has bugs.
>
> I started looking at Qt (the GRC instance in particular) to see if I could
> perhaps avoid the whole flakiness in the OpenGL
>  eco-system, but if Qt in turn uses OpenGL to render certain things, then
> perhaps that's not a wise thing to do?

Hi Marcus,

With the graphics framework available in recent Qt, the application
can decide at runtime whether to use Open GL rendering or not.
The qt-gui sink in GNU Radio uses Qwt so it is one level higher, still
the constructor has the parameter "use_openGL" which defaults to true:

qtgui_sink_c_sptr qtgui_make_sink_c (int fftsize, int wintype,
                                     double fc=0, double bandwidth=1.0,
                                     const std::string &name="Spectrum Display",
                                     bool plotfreq=true, bool 
plotwaterfall=true,
                                     bool plotwaterfall3d=true, bool 
plottime=true,
                                     bool plotconst=true,
                                     bool use_openGL=true,
                                     QWidget *parent=NULL);

There is also a lower level opengl drawing surface that allows using
opengl API directly (as was the case with gr-wxgui) but that is not
used by gr-qtgui.

Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]