Моя цель - показать файлы OBJ в QWidget. Код, который я использовал для работы ранее.
vtkSmartPointer<vtkOBJImporter> importer = vtkSmartPointer<vtkOBJImporter>::New();
importer->SetFileName(graphics_path_balanced.toStdString().c_str());
importer->SetFileNameMTL(graphics_path_balanced.append(".mtl").toStdString().c_str());
importer->Read();
importer->GetRenderer()->SetBackground(1.0, 1.0, 1.0);
#if VTK_MAJOR_VERSION >= 7 && VTK_MINOR_VERSION > 1
importer->GetRenderer()->UseFXAAOn();
#endif
vtkActorCollection* actors_collection = importer->GetRenderer()->GetActors();
actors_collection->InitTraversal();
while(vtkActor* actor = actors_collection->GetNextActor()) {
actor->GetProperty()->SetOpacity(0.5);
}
importer->GetRenderWindow()->LineSmoothingOn();
importer->GetRenderWindow()->PointSmoothingOn();
importer->GetRenderWindow()->PolygonSmoothingOn();
_visualization_balanced_viewer->SetRenderWindow(importer->GetRenderWindow());
Кубоиды не прозрачны. Они все solid блоки. Большинство лиц теряют свой цвет и становятся прозрачными. Однако раньше он показывал правильно. Даже если я отключу прозрачность, нет никакой разницы.
Это старый код. Однако кажется, что он был написан с VTK 7.1 с Qt 5. Раньше он работал в Ma c, а также в Arch Linux. Но теперь он не работает ни в одной из этих ОС.