vtk实战(十二)——读取.obj文件

来源:互联网 发布:本站内容收集于网络 编辑:程序博客网 时间:2024/05/16 17:36

OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件”Advanced Visualizer”开发的一种标准3D模型文件格式。
具体内容可参照:
http://www.cppblog.com/lovedday/archive/2008/06/13/53153.html
本例主要用vtkOBJReader()类读取Wavefront .obj格式的文件。

#include <vtkOBJReader.h>#include <vtkPolyDataMapper.h>#include <vtkActor.h>#include <vtkRenderer.h>#include <vtkRenderWindow.h>#include <vtkRenderWindowInteractor.h>#include <vtkSmartPointer.h>#include <string>int main(){    std::string filename = "cube.obj";    vtkSmartPointer<vtkOBJReader> reader =        vtkSmartPointer<vtkOBJReader>::New();    reader->SetFileName(filename.c_str());    reader->Update();    vtkSmartPointer<vtkPolyDataMapper> mapper =        vtkSmartPointer<vtkPolyDataMapper>::New();    mapper->SetInputConnection(reader->GetOutputPort());    vtkSmartPointer<vtkActor> actor =        vtkSmartPointer<vtkActor>::New();    actor->SetMapper(mapper);    vtkSmartPointer<vtkRenderer> renderer =        vtkSmartPointer<vtkRenderer>::New();    renderer->AddActor(actor);    renderer->SetBackground(.3, .6, .3);    vtkSmartPointer<vtkRenderWindow> renderWindow =        vtkSmartPointer<vtkRenderWindow>::New();    renderWindow->AddRenderer(renderer);    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =        vtkSmartPointer<vtkRenderWindowInteractor>::New();    renderWindowInteractor->SetRenderWindow(renderWindow);    renderWindow->Render();    renderWindowInteractor->Start();    return 0;}

运行结果
程序代码:
http://pan.baidu.com/s/1eRXIKyY

0 0
原创粉丝点击