[vtk-developers] [vtkusers] the New QVTKOpenGLWidget

Elvis Stansvik elvis.stansvik at orexplore.com
Fri Aug 24 05:46:35 EDT 2018


2018-08-23 11:07 GMT+02:00 Mathieu Westphal <mathieu.westphal at kitware.com>:
> Hello list,
>
> If you are working on a VTK/Qt application this information should interest
> you.
> Sometime ago, a new QVTKOpenGLWidget implementation has been added to VTK,
> while the old one has been moved to QVTKOpenGLSimpleWidget.
> The last fixes for this change have just been merged, so make sure to use
> VTK master to test this.
>
> 1. Why is there a new widget and what does it do ?
> We have been having some issues reported for the old widget, and the old
> widget could not support quad buffer stereo rendering by design.
> Has it is a needed feature in ParaView, a reimplementation was necessary.
> This new widget fix most of the reported issues with the old widget as well
> as adding stereo support.
>
> 2. Why keeping the old widget around then ?
> Due to Qt limitations, this new implementation does not support very well
> being a native widget.
> But native widget are sometimes mandatory, for example within QScrollArea
> and QMDIArea, so the QVTKOpenGLSimpleWidget should be used when in needs of
> VTK rendering in the contact of Qt native widget.
>
> Also it allows users to switch back to the old widget if necessary.
>
> 3. I'm not sure what native widgets are, what should I do in my application
> ?
>
> Here are the different situation :
>
> Your Qt application only uses a central QVTKOpenGLWidget for rendering:
> -> Nothing to do, just build with last master and make sure all is working
> well
> Your Qt application only uses QVTKOpenGLWidget within QScrollArea or
> QMDIArea, or manually set widgets to be native and you are not interested by
> stereo rendering.
>  -> Change all your QVTKOpenGLWidget to QVTKOpenGLSimpleWidget and you are
> good to go
> Your application uses a non-native QVTKOpenGLWidget for rendering as well as
> native QVTKOpenGLWidget for rendering (eg: ParaView, with the central
> rendering widget and the color map editor rendering widget in scroll areas)
> :
>  -> Use QVTKOpenGLWidget for non-native widgets and QVTKOpenGLSimpleWidget
> for native ones. The later will never support stereo.
>
>
> 4. I followed your recommendation but I see some strange
> stuff/bugs/rendering issues
> Even if this new class has been tested extensively and will be used in the
> next ParaView release, It may still contains some issues. Feel free to
> discuss them in this mailing list or on our gitlab.

Thanks for the update/advice Mathieu.

I have an old semi-alive merge request against the old
QVTKOpenGLWidget (now QVTKOpenGLSimpleWidget):

    https://gitlab.kitware.com/vtk/vtk/merge_requests/3973

I could use some advice on what to do with it. It fixes an issue that
I believe is solved in the new one (fractional DPI scale factors). Do
you wish that I update the patch so that it applies to the
QVTKOpenGLSimpleWidget, which might still have the problem? (haven't
checked).

Also, I'd like to take the opportunity to ask: Anyone know when a
first RC of VTK 9.0.0 might be coming (and final release)? I'm anxious
to get fractional DPI scaling working well in our application, because
we're getting customer bug reports for users on Windows, where it's
quite common with laptops configured with 150% and 250% scaling.

I don't think we're dependant upon native widgets, so we should be
moving to the new widget. But we try to only ship with released
versions of VTK (sometimes we've used RCs, and in rare cases VTK
master).

Cheers,
Elvis

>
> Best regards,
>
> Mathieu Westphal
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtkusers
>


More information about the vtk-developers mailing list