Re: OpenGL plot canvas
Brought to you by:
rathmann
From: Uwe R. <Uwe...@ti...> - 2012-03-29 06:01:22
|
Hi David, > Where do I find the code you implemented over the weekend? Is it in the > development snapshot from SVN? Yes in SVN trunk: "svn co https://qwt.svn.sourceforge.net/svnroot/qwt/trunk/qwt" Have a look at qwt_plot_glcanvas.cpp to see how to render the plot items to your canvas. When your canvas has a slot ( or at least declared as Q_INVOKABLE ) named replot, it will be called from QwtPlot::replot(). If not QwtPlot::replot calls canvas->update( canvas->contentsRect(). About QwtPlotGLCanvas: in general these couple of lines are all what is needed for OpenGL support, but without a backing store its performance is bad in combination with widget overlays ( rubberband, tracker text ). Also support for stylesheets and frames is missing. Unfortunately I have segfaults on my box ( X11 ) with Qt 4.8 when a tracker text is on top of the OpenGL canvas. But this should be a Qt 4.8/X11 related problem only - with Qt 4.7 ( or probably on Windows ) everything is o.k. Maybe you ( or someone else who is interested ) could check the effect of using an OpenGL canvas on Windows. I would expect to see differences for curves in Lines style with a pen > 0 - or for symbols, where caching has been disabled ( QwtSymbol::NoCache ). The following code is all you need to do for using OpenGL: "plot->setCanvas( new QwtPlotGLCanvas() );" Uwe |