Qt VTK未清除前一帧并填充背景

Qt VTK未清除前一帧并填充背景,qt,vtk,qvtkwidget,Qt,Vtk,Qvtkwidget,我已经安装了带有CMake的VTK 8.2.0,用于QT,但在尝试运行一些VTK示例时,我遇到了如下问题: 注意:图像中的色带问题来自gif压缩,而不是问题的一部分 #include <vtkSmartPointer.h> #include <vtkActor.h> #include <vtkCubeSource.h> #include <vtkPolyData.h> #include <vtkPolyDataMapper.h> #

我已经安装了带有CMake的VTK 8.2.0,用于QT,但在尝试运行一些VTK示例时,我遇到了如下问题:

注意:图像中的色带问题来自gif压缩,而不是问题的一部分

#include <vtkSmartPointer.h>

#include <vtkActor.h>
#include <vtkCubeSource.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>

int main(int, char *[])
{
  // Create a cube.
  vtkSmartPointer<vtkCubeSource> cubeSource = 
    vtkSmartPointer<vtkCubeSource>::New();

  // Create a mapper and actor.
  vtkSmartPointer<vtkPolyDataMapper> mapper = 
    vtkSmartPointer<vtkPolyDataMapper>::New();
  mapper->SetInputConnection(cubeSource->GetOutputPort());

  vtkSmartPointer<vtkActor> actor = 
    vtkSmartPointer<vtkActor>::New();
  actor->SetMapper(mapper);

  // Create a renderer, render window, and interactor
  vtkSmartPointer<vtkRenderer> renderer = 
    vtkSmartPointer<vtkRenderer>::New();
  vtkSmartPointer<vtkRenderWindow> renderWindow = 
    vtkSmartPointer<vtkRenderWindow>::New();
  renderWindow->AddRenderer(renderer);
  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = 
    vtkSmartPointer<vtkRenderWindowInteractor>::New();
  renderWindowInteractor->SetRenderWindow(renderWindow);

  // Add the actors to the scene
  renderer->AddActor(actor);
  renderer->SetBackground(.3, .2, .1);

  // Render and interact
  renderWindow->Render();
  renderWindowInteractor->Start();

  return EXIT_SUCCESS;
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
int main(int,char*[])
{
//创建一个立方体。
vtkSmartPointer立方体资源=
vtkSmartPointer::New();
//创建映射器和参与者。
VTKSmart指针映射器=
vtkSmartPointer::New();
映射器->设置输入连接(cubeSource->GetOutputPort());
vtkSmartPointer actor=
vtkSmartPointer::New();
actor->SetMapper(映射器);
//创建渲染器、渲染窗口和交互器
vtkSmartPointer渲染器=
vtkSmartPointer::New();
vtkSmartPointer渲染窗口=
vtkSmartPointer::New();
renderWindow->AddRenderer(渲染器);
vtkSmartPointer RenderWinterActor=
vtkSmartPointer::New();
RenderWindowWinterActor->SetRenderWindow(renderWindow);
//将演员添加到场景中
渲染器->AddActor(actor);
渲染器->背景(.3、.2、.1);
//渲染和交互
renderWindow->Render();
renderWindowInteractor->Start();
返回退出成功;
}

对于所有示例,上一帧似乎没有被清除,背景也没有显示在上面

编译或运行程序时,我似乎没有收到任何错误消息。这可能是驱动程序问题吗


任何帮助都将不胜感激

您是否从源代码构建了VTK?你试过不同的系统吗?你在用什么系统?您是否检查了计算机的OpenGL功能?有很多可能的原因,这使得它有点难以帮助。工作是否完美无瑕?你咨询过吗?如果您想在不支持OpenGL的情况下构建VTK,请参阅。您是否从源代码构建VTK?你试过不同的系统吗?你在用什么系统?您是否检查了计算机的OpenGL功能?有很多可能的原因,这使得它有点难以帮助。工作是否完美无瑕?你咨询过吗?如果要在不支持OpenGL的情况下构建VTK,请参阅。