

1 #include <vtkAutoInit.h>
2 VTK_MODULE_INIT(vtkRenderingOpenGL2);
3 VTK_MODULE_INIT(vtkRenderingFreeType);
4 VTK_MODULE_INIT(vtkInteractionStyle);
5
6 #include <vtkSmartPointer.h>
7 #include <vtkRenderWindowInteractor.h>
8 #include <vtkRenderWindow.h>
9 #include <vtkRenderer.h>
10 #include <vtkActor.h>
11 #include <vtkPolyDataMapper.h>
12 #include <vtkTransformTextureCoords.h>
13 #include <vtkTexture.h>
14 #include <vtkTextureMapToSphere.h>
15 #include <vtkTextureMapToCylinder.h>
16 #include <vtkBMPReader.h>
17 #include <vtkTexturedSphereSource.h>
18 #include <vtkXMLPolyDataReader.h>
19
20 //测试:../data/masonry.bmp ../data/cow.vtp
21 int main (int argc, char *argv[])
22 {
23 double translate[3];
24 translate[0] = 10.0;
25 translate[1] = 0.0;
26 translate[2] = 0.0;
27 std::cout << translate[0] << ", "
28 << translate[1] << ", "
29 << translate[2] << "\n";
30
31 vtkSmartPointer<vtkBMPReader> texReader =
32 vtkSmartPointer<vtkBMPReader>::New();
33 texReader->SetFileName("C:\\Users\\Administrator\\Desktop\\VTK2\\hellovtk\\vtk_图像处理学习\\第六章_图像处理\\data\\masonry.bmp");//读取纹理图像
34
35 vtkSmartPointer<vtkTexture> texture =
36 vtkSmartPointer<vtkTexture>::New();
37 texture->SetInputConnection(texReader->GetOutputPort());
38
39 vtkSmartPointer<vtkXMLPolyDataReader> modelReader =
40 vtkSmartPointer<vtkXMLPolyDataReader>::New();
41 modelReader->SetFileName("C:\\Users\\Administrator\\Desktop\\VTK2\\hellovtk\\vtk_图像处理学习\\第六章_图像处理\\data\\cow.vtp");//读取模型
42
43 vtkSmartPointer<vtkTextureMapToCylinder> texturemap =
44 vtkSmartPointer<vtkTextureMapToCylinder>::New();
45 texturemap->SetInputConnection(modelReader->GetOutputPort());
46
47 vtkSmartPointer<vtkPolyDataMapper> mapper =
48 vtkSmartPointer<vtkPolyDataMapper>::New();
49 mapper->SetInputConnection(texturemap->GetOutputPort());
50
51 vtkSmartPointer<vtkActor> actor =
52 vtkSmartPointer<vtkActor>::New();
53 actor->SetMapper( mapper );
54 actor->SetTexture( texture );
55
56 vtkSmartPointer<vtkRenderer> renderer =
57 vtkSmartPointer<vtkRenderer>::New();
58 renderer->AddActor(actor);
59 renderer->SetBackground(1.0, 1.0, 1.0);
60
61 vtkSmartPointer<vtkRenderWindow> renderWindow =
62 vtkSmartPointer<vtkRenderWindow>::New();
63 renderWindow->AddRenderer( renderer );
64
65 vtkSmartPointer<vtkRenderWindowInteractor> renWinInteractor =
66 vtkSmartPointer<vtkRenderWindowInteractor>::New();
67 renWinInteractor->SetRenderWindow( renderWindow );
68
69 renderWindow->SetSize(640, 480);
70 renderWindow->Render();
71 renderWindow->SetWindowName("TextureMap");
72 renderWindow->Render();
73 renderWindow->Render();
74 renWinInteractor->Start();
75
76 return EXIT_SUCCESS;
77 }




【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2022-08-16 Qt 无法解析的外部符号“public: virtual struct QMetaObject const ...“
2022-08-16 Qt char*,wchar_t*与QString之间的转换(利用reinterpret_cast和_stprintf函数,fromWCharArray从字符数组里读取数据)
2021-08-16 C++ 实现 COM → IUnknown → 接口
2021-08-16 C++ COM编程之IUnknown接口
2021-08-16 C++ COM三大接口:IUnknown、IClassFactory、IDispatch。
2021-08-16 C++ COM组件QueryInterface函数
2021-08-16 C++ COM组件的AddRef和Release()方法使用