[vtk-developers] [vtkusers] the New QVTKOpenGLWidget
elvis.stansvik at orexplore.com
Tue Aug 28 01:28:23 EDT 2018
2018-08-28 0:12 GMT+02:00 Jean-Christophe Fillion-Robin <jcfr at kitware.com>:
> Hi All,
> To follow up on Mathieu email, we are in in the process of integrating this
> merge request  (and the equivalent in paraview ) that will add/rename
> the following classes:
> * QVTKOpenGLAlienWidget (equivalent to QVTKOpenGLWidget class described in
> the previous email)
> * QVTKOpenGLNativeWidget (equivalent to QVTKOpenGLSimpleWidget class
> described in the previous email)
> * QVTKOpenGLWidget will:
> - behave as it was before the introduction of the "new QVTKOpenGLWidget"
> and will instead derive from QVTKOpenGLNativeWidget.
> - only be available if VTK_LEGACY_REMOVE is OFF
> - will most likely be removed in VTK 10
> We anticipate that this clearer naming convention will facilitate update of
> user code.
> Let us know what you think,
I think this naming is the best one possible, unless it's somehow
possible to make a widget that will work well in both scenarios of
Much better naming than the "Simple" suffix, so +1.
>  https://gitlab.kitware.com/vtk/vtk/merge_requests/4625
>  https://gitlab.kitware.com/paraview/paraview/merge_requests/2693
> On Thu, Aug 23, 2018 at 5:07 AM Mathieu Westphal
> <mathieu.westphal at kitware.com> wrote:
>> 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
>> 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.
>> Best regards,
>> Mathieu Westphal
> Powered by www.kitware.com
> Visit other Kitware open-source projects at
> Please keep messages on-topic and check the VTK FAQ at:
> Search the list archives at: http://markmail.org/search/?q=vtkusers
> Follow this link to subscribe/unsubscribe:
More information about the vtk-developers