<div dir="ltr">Quick update.<div><br></div><div>The depth issue manifests itself when I set a alpha value to the NaN.</div><div><br></div><div>lut->SetNanColor(0.803, 0.788, 0.788, 0.8);  // depth issue<br></div><div>lut->SetNanColor(0.803, 0.788, 0.788,1.0);  // NO depth issue<br></div><div><br></div><div>Not sure the reason, but the problem is right there.</div><div><br></div><div>see the code below:</div><div><br></div><div><div>#include <QApplication></div><div>#include <QFrame></div><div>#include <QLabel></div><div>#include <QVBoxLayout></div><div>#include <QVTKWidget.h></div><div>#include <vtkImageData.h></div><div>#include <vtkSmartPointer.h></div><div>#include <vtkFloatArray.h></div><div>#include <vtkCellData.h></div><div>#include <vtkRenderWindow.h></div><div>#include <vtkActor.h></div><div>#include <vtkDataSetMapper.h></div><div>#include <vtkRenderer.h></div><div>#include <vtkProperty.h></div><div>#include <vtkThreshold.h></div><div>#include <vtkPassThrough.h></div><div>#include <vtkLookupTable.h></div><div><br></div><div><br></div><div><br></div><div>int main(int argc, char *argv[])</div><div>{</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>QApplication app(argc, argv);</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>vtkSmartPointer<vtkImageData> im_data = vtkSmartPointer<vtkImageData>::New();</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>im_data->SetDimensions(21, 21, 21);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>im_data->SetSpacing(1.0, 1.0, 1.0);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>im_data->SetOrigin(0.0, 0.0, 0.0);</div><div><br></div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer<vtkFloatArray> data = vtkSmartPointer<vtkFloatArray>::New();</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>data->SetNumberOfValues(20 * 20 * 20);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>for (int i = 0; i < data->GetNumberOfValues(); ++i) {</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>data->SetValue(i, (float)i/20.0/20./20.0);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>}</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>im_data->GetCellData()->SetScalars(data);</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();</div><div>  </div><div>  vtkSmartPointer<vtkDataSetMapper> mapper = vtkSmartPointer<vtkDataSetMapper>::New();</div><div>  mapper->SetInputData(im_data);</div><div><br></div><div>  vtkSmartPointer<vtkProperty> vtk_property = vtkSmartPointer<vtkProperty>::New();</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>actor->SetMapper(mapper);</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>renderer->AddActor(actor);</div><div><br></div><div>  vtkSmartPointer<vtkLookupTable> lut = vtkSmartPointer<vtkLookupTable>::New();</div><div>  int n_colors = 8;</div><div>  lut->SetNumberOfTableValues(n_colors);</div><div>  lut->Build();</div><div><br></div><div>  for (int i = 0; i < n_colors; i++) {</div><div>    lut->SetTableValue(i, 1.0-(0.125*i), 0.125*i, 0.125*i, 1.0);</div><div>  }</div><div>  lut->SetRampToLinear();</div><div>//  lut->SetNanColor(0.803, 0.788, 0.788, 1.0);</div><div>  lut->SetNanColor(0.803, 0.788, 0.788, 0.8);</div><div>  mapper->SetScalarRange(0, 2);</div><div>  mapper->SetLookupTable(lut);</div><div>  mapper->Modified();</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span></div><div>  QFrame* frame = new QFrame();</div><div>  frame->setLayout(new QVBoxLayout(frame));</div><div>  frame->layout()->addWidget(new QLabel("TEST TEST TEST TEST ... ... TEST"));</div><div>  QVTKWidget* vtk_widget = new QVTKWidget(frame);</div><div>  frame->layout()->addWidget(vtk_widget);</div><div>  vtk_widget->GetRenderWindow()->AddRenderer(renderer);</div><div><br></div><div>  frame->show();</div><div><span style="white-space:pre">  </span>return app.exec();</div><div><br></div><div>}</div></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 20, 2016 at 6:17 PM, Alexandre Boucher <span dir="ltr"><<a href="mailto:afboucher@gmail.com" target="_blank">afboucher@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry,   This is on Windows 10, NVIDIA GTX 1080 (but tried with a few older NVIDIA card).<div><br></div><div>I have been looking at it in more details today without success.  The  <span style="font-family:"courier new";font-size:13.3333px">QSurfaceFormat</span><span style="font-family:"courier new";font-size:13.3333px"> </span>approach  mentioned above did not work.</div><div><br></div><div> I tried to isolate the issue in a stand alone code but could not reproduce the depth issue.  The closest I have been in isolating the problem is by not setting the look up table to the mapper, in that case the imageData is displayed correctly (no depth issue).</div><div><br></div><div>without these two lines, I do not have depth issue.</div><div>mapper->SetScalarRange(cmap_-><wbr>lower_bound(), cmap_->upper_bound());<br></div><div><div>mapper->SetLookupTable(cmap_-><wbr>color_table());</div></div><div><br></div><div>I'll further dig into that and let you know if I get closer to any solution.  That same code is working fine on opengl1 backend.</div><div><br></div><div>Thank you all for the help</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 20, 2016 at 5:42 PM, Marcus D. Hanwell <span dir="ltr"><<a href="mailto:marcus.hanwell@kitware.com" target="_blank">marcus.hanwell@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Tue, Dec 20, 2016 at 12:47 AM, Alexandre Boucher <<a href="mailto:afboucher@gmail.com" target="_blank">afboucher@gmail.com</a>> wrote:<br>
><br>
> I am having a problem using the opengl2 backend with QVTKWidget (I tried Qt 5.4 to 5.7 and vtk 7.0 and 7.1). When looking at a simple vtkImageData for instance some of the faces of the grid are not properly displayed, see image below.  Everything works fine with the opengl1 backend.<br>
><br>
> I also try using QVTKWidget2, but I am getting a crash when the widget call OpenGLInitState().<br>
><br>
> Is there a trick to use Qt and opengl2?<br>
><br>
</span>You don't mention what OS/graphics card you are using. I have been<br>
tracking a problem with OpenGL2 and Mesa/Intel DRI driver (based on<br>
Mesa) with Qt 5. It looks just like this, no working depth buffer. I<br>
proposed a patch that made it work, but it made the NVIDIA-based Linux<br>
systems segfault.<br>
<br>
I am hoping that we can come up with something that will work on both,<br>
but I haven't had time to revisit it since I looked at it in November.<br>
I can dig up the merge request if this sounds like your set up.<br>
<span class="m_-3028643082142064704HOEnZb"><font color="#888888"><br>
Marcus<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>