/********************************************************************** 文件名: 6.9_TextureMap.cpp Copyright (c) 张晓东, 罗火灵. All rights reserved. 更多信息请访问: http://www.vtkchina.org (VTK中国) http://blog.csdn.net/www_doling_net (东灵工作室) **********************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include //测试:../data/masonry.bmp ../data/cow.vtp int main (int argc, char *argv[]) { if (argc < 3) { std::cout << "Usage: " << argv[0] << "texture(.png)" << "model(.vtp)" < texReader = vtkSmartPointer::New(); texReader->SetFileName(argv[1]); vtkSmartPointer texture = vtkSmartPointer::New(); texture->SetInputConnection(texReader->GetOutputPort()); vtkSmartPointer modelReader = vtkSmartPointer::New(); modelReader->SetFileName(argv[2]); vtkSmartPointer texturemap = vtkSmartPointer::New(); texturemap->SetInputConnection(modelReader->GetOutputPort()); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInputConnection(texturemap->GetOutputPort()); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper( mapper ); actor->SetTexture( texture ); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->SetBackground(1.0, 1.0, 1.0); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer( renderer ); vtkSmartPointer renWinInteractor = vtkSmartPointer::New(); renWinInteractor->SetRenderWindow( renderWindow ); renderWindow->SetSize(640, 480); renderWindow->Render(); renderWindow->SetWindowName("TextureMap"); renderWindow->Render(); renderWindow->Render(); renWinInteractor->Start(); return EXIT_SUCCESS; }