[vtk-developers] Strange renderering with mixed polydata/volume with QVTKOpenGLWidget

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Thu May 18 09:59:12 EDT 2017


For now, try doing this:
  auto surfaceFormat = QVTKOpenGLWidget::defaultFormat()
  surfaceFormat.setSamples(0);
*  surfaceFormat.setAlphaBufferSIze(0);*
  QSurfaceFormat::setDefaultFormat(surfaceFormat);


Utkarsh

On Thu, May 18, 2017 at 8:57 AM, Elvis Stansvik <
elvis.stansvik at orexplore.com> wrote:

> I'm porting our program to the new QVTKOpenGLWidget.
>
> In one place, we're using a semi-transparent polygonal cube to show
> the selection of an area. We're doing volume rendering using
> vtkGPUVolumeRayCastMapper in the same renderer, and the polygonal
> selection marker is enclosing the volume in the X/Y dimensions.
>
> See the attached linux_selection_correct.png for how this is supposed
> to look, and you'll understand what I mean. The light blue area is the
> selection marker.
>
> This has always worked fine, but after porting from QVTKWidget to
> QVTKOpenGLWidget, the rendering looks strange on Windows (nvidia) and
> macOS (2013 MBP, intel iris). See the attached
> windows_nvidia_selection.png and macos_selection.png.
>
> The selection is visualized using
>
>   vtkCubeSource -> vtkPolyDataMapper
>
> and a vtkActor configured like this:
>
>     auto selectionColor = palette().color(QPalette::Highlight);
>
>     m_selectionMarkerActor->SetMapper(selectionMarkerMapper);
>     m_selectionMarkerActor->GetProperty()->SetColor(selectionColor.redF(),
>
> selectionColor.greenF(),
>
> selectionColor.blueF());
>     m_selectionMarkerActor->GetProperty()->SetOpacity(0.1);
>     m_selectionMarkerActor->GetProperty()->SetAmbient(1.0);
>     m_selectionMarkerActor->GetProperty()->SetDiffuse(0.0);
>     m_selectionMarkerActor->GetProperty()->SetSpecular(0.0);
>
> Any idea why the rendering looks so strange on Windows/nvidia and
> macOS/iris, respectively, when using the new widget class?
>
> We're using a recent VTK from Git master.
>
> We're doing the recommended
>
>     QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat());
>
> to set the default surface format before QApplication construction.
>
> In the particular QVTKOpenGLWidget used here, we modify the format with
>
>     auto surfaceFormat = format();
>     surfaceFormat.setSamples(0);
>     setFormat(surfaceFormat);
>
> to disable multisampling.
>
> Very grateful for any advise on how to solve this.
>
> Cheers,
> Elvis
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/
> opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20170518/3e865139/attachment.html>


More information about the vtk-developers mailing list