<div dir="ltr">Hi,<div><br></div><div>I am trying to do offscreen rendering of a scene. When I captured the framebuffer and add to Qopenglvtkwidget using image actor the image was split into two halves as attached in the image attached.</div><div><br></div><div>Can you please help me to know how to solve this issue to make the captured framebuffer looks like the scene shown</div><div><br></div><div><div>VTKWidget1->GetRenderWindow()->AddRenderer(m_rendererLeft);</div><div><span style="white-space:pre"> </span>VTKWidget2->GetRenderWindow()->AddRenderer(m_rendererRight);</div><div><span style="white-space:pre">    </span>VTKWidget1->show();</div><div><span style="white-space:pre">        </span>VTKWidget2->show();</div><div><span style="white-space:pre">        </span>m_SkinMapperLeft->SetInputConnection(m_SkinNormals->GetOutputPort());</div><div><span style="white-space:pre">   </span>m_SkinMapperLeft->ScalarVisibilityOff();</div><div><span style="white-space:pre">   </span>//m_SkinMapperRight->SetInputConnection(m_SkinNormals->GetOutputPort());</div><div><span style="white-space:pre">        </span>//m_SkinMapperRight->ScalarVisibilityOff();</div><div><br></div><div><span style="white-space:pre">       </span>m_SkinActorLeft->SetMapper(m_SkinMapperLeft);</div><div><span style="white-space:pre">      </span>//m_SkinActorRight->SetMapper(m_SkinMapperRight);</div><div><br></div><div><span style="white-space:pre"> </span>m_outlineData->SetInputConnection(m_Volume16Reader->GetOutputPort());</div><div><br></div><div><span style="white-space:pre">  </span>m_mapOutlineLeft->SetInputConnection(m_outlineData->GetOutputPort());</div><div><span style="white-space:pre">   </span>m_outlineActorLeft->SetMapper(m_mapOutlineLeft);</div><div><span style="white-space:pre">   </span>m_outlineActorLeft->GetProperty()->SetColor(0, 0, 0);</div><div><br></div><div><span style="white-space:pre">  </span>m_CameraLeft->SetViewUp(0, 0, -1);</div><div><span style="white-space:pre"> </span>m_CameraLeft->SetPosition(0, 1, 0);</div><div><span style="white-space:pre">        </span>m_CameraLeft->SetFocalPoint(0, 0, 0);</div><div><span style="white-space:pre">      </span>m_CameraLeft->ComputeViewPlaneNormal();</div><div><span style="white-space:pre">    </span>m_CameraLeft->Azimuth(30.0);</div><div><span style="white-space:pre">       </span>m_CameraLeft->Elevation(30.0);</div><div><br></div><div><span style="white-space:pre">    </span>m_rendererLeft->AddActor(m_outlineActorLeft);</div><div><span style="white-space:pre">      </span>m_rendererLeft->AddActor(m_SkinActorLeft);</div><div><span style="white-space:pre"> </span>m_rendererLeft->SetActiveCamera(m_CameraLeft);</div><div><span style="white-space:pre">     </span>m_rendererLeft->ResetCamera();</div><div><span style="white-space:pre">     </span>m_rendererRight->SetActiveCamera(m_CameraLeft);</div><div><span style="white-space:pre">    </span>m_rendererRight->ResetCamera(); </div><div><span style="white-space:pre">  </span>m_CameraLeft->Dolly(1.5);</div><div><br></div><div><span style="white-space:pre"> </span>// Set a background color for the renderer and set the size of the</div><div><span style="white-space:pre">    </span>// render window (expressed in pixels).</div><div><span style="white-space:pre">       </span>m_rendererLeft->SetBackground(.2, .3, .4);</div><div><span style="white-space:pre"> </span>m_rendererRight->SetBackground(.2, .3, .4);</div><div><span style="white-space:pre">        </span>//m_rendererRight->SetActiveCamera(m_CameraLeft);</div><div><span style="white-space:pre">  </span>//m_rendererRight->ResetCamera();</div><div><br></div><div><span style="white-space:pre"> </span>//Creates an Empty image</div><div><span style="white-space:pre">      </span>/*m_LeftRenderWindow->SetUseOffScreenBuffers(true);</div><div><span style="white-space:pre">        </span>m_rendererLeft->Render();</div><div><span style="white-space:pre">  </span>int* size = m_LeftRenderWindow->GetSize();</div><div><span style="white-space:pre"> </span>vtkNew<vtkImageData> image;</div><div><span style="white-space:pre">     </span>image->SetDimensions(size[0] - 1, size[1] - 1, 1);</div><div><span style="white-space:pre"> </span>image->AllocateScalars(VTK_UNSIGNED_CHAR, 3);</div><div><span style="white-space:pre">      </span>m_LeftRenderWindow->GetPixelData(0, 0, size[0] - 1, size[1] - 1,0, </div><div><span style="white-space:pre">               </span>vtkArrayDownCast<vtkUnsignedCharArray>(image->GetPointData()->GetScalars()),0);*/</div><div><span style="white-space:pre"> </span>m_LeftRenderWindow->SetUseOffScreenBuffers(false);</div><div><span style="white-space:pre"> </span>m_LeftRenderWindow->Render();</div><div><span style="white-space:pre">      </span>m_LeftRenderWindow->SetUseOffScreenBuffers(true);</div><div><span style="white-space:pre">  </span>m_LeftRenderWindow->Render();</div><div><span style="white-space:pre">      </span>int* size = m_LeftRenderWindow->GetSize();</div><div><span style="white-space:pre"> </span>vtkNew<vtkImageData> image;</div><div><span style="white-space:pre">     </span>image->SetDimensions(size[0] - 1, size[1] - 1, 1);</div><div><span style="white-space:pre"> </span>image->AllocateScalars(VTK_UNSIGNED_CHAR, 3);</div><div><span style="white-space:pre">      </span>m_LeftRenderWindow->GetPixelData(0, 0, size[0] - 1, size[1] - 1, 0,</div><div><span style="white-space:pre">                </span>vtkArrayDownCast<vtkUnsignedCharArray>(image->GetPointData()->GetScalars()), 0);</div><div><span style="white-space:pre">  </span>m_LeftRenderWindow->SetUseOffScreenBuffers(false);</div><div><span style="white-space:pre"> </span>vtkNew<vtkImageActor> imageActor;</div><div><span style="white-space:pre">       </span>imageActor->GetMapper()->SetInputData(image);</div><div><span style="white-space:pre">   </span>m_rendererRight->AddActor(imageActor);</div><div><span style="white-space:pre">     </span>m_rendererRight->Render();</div></div><div><img src="cid:ii_1604c10211c79514" alt="Inline image 1" width="508" height="263"><br></div><div><br></div><div>Best regards</div><div>Elhassan</div></div>