<div dir="ltr"><div><div><div>Hello,<br><br></div>I need to get the zbuffer in double or single precision float. This is what I'm doing<br><br><br><br>    renderWindow->Render();<br><br>    vtkSmartPointer<vtkWindowToImageFilter> filter =<br>             vtkSmartPointer<vtkWindowToImageFilter>::New();<br>    vtkSmartPointer<vtkImageShiftScale> scale =<br>            vtkSmartPointer<vtkImageShiftScale>::New();<br><br>    // Filter Object Setup<br>    filter->SetInput(renderWindow);<br>    filter->SetMagnification(1);<br>    filter->SetInputBufferTypeToZBuffer();    //Extract z buffer value<br>    filter->ReadFrontBufferOff(); // read from the back buffer<br>    filter->Update();<br><br>    // Scale Object Setup<br>    scale->SetOutputScalarTypeToDouble();<br>    scale->SetInputConnection(filter->GetOutputPort());<br>    scale->SetShift(0);<br><br><br>    auto rawData = filter->GetOutput();<br>    rawData->Register(nullptr); // !!! Increase reference counter, make returned Image struct<br>                                // responsible for freeing the memory afterwards<br><br>    int dims[3];<br>    // Returns coords in (x, y) instead of (row, col)<br>    rawData->GetDimensions(dims);<br><br>    assert(rawData->GetNumberOfScalarComponents() == 1);<br><br><br></div>double *rawData = rawData->GetScalarPointer();<br><br><br><br><br><br></div>However, this is causing a segmentation fault. What am I doing wrong?<br></div>