李美熹 SPACE


又一个WordPress站点

首页 >全部文章 > 正文内容
2.2三维场景的基本要素(纹理映射)-Mayer0910窗外有男天

2.2三维场景的基本要素(2)——纹理映射

****************************************
1、在文件夹Chap02下新建2.2_TextureExample.cpp:

修改CMakeLists.txt内容如下:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(Chap02)
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
ADD_EXECUTABLE(2.2_TextureExample 2.2_TextureExample.cpp)
TARGET_LINK_LIBRARIES(2.2_TextureExample ${VTK_LIBRARIES})

在2.2_TextureExample.cpp输入以下内容:
#include <vtkSmartPointer.h>
#include <vtkJPEGReader.h>
#include <vtkTexture.h>
#include <vtkPlaneSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkRenderWindowInteractor.h>
//测试文件:E:\lena.jpg
int main (int argc梁耀艺 , char* argv[])
{
vtkSmartPointer< vtkJPEGReader > reader = vtkSmartPointer< vtkJPEGReader >::New();
//reader->SetFileName(argv[1]);
reader->SetFileName("E:\lena.jpg");
vtkSmartPointer< vtkTexture > texture = vtkSmartPointer< vtkTexture >::New();
texture->SetInputConnection( reader->GetOutputPort() );
texture->InterpolateOn();
vtkSmartPointer< vtkPlaneSource > plane = vtkSmartPointer< vtkPlaneSource >::New();
vtkSmartPointer< vtkPolyDataMapper > mapper = vtkSmartPointer< vtkPolyDataMapper >::New();
mapper->SetInputConnection( plane->GetOutputPort() );
vtkSmartPointer< vtkActor > actor = vtkSmartPointer< vtkActor >::New();
actor->SetMapper( mapper );
actor->SetTexture( texture );
vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
renderer->AddActor( actor );
renderer->SetBackground( 1.0绿森数码, 1.0李丽凤, 1.0);
vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
renWin->AddRenderer( renderer );
renWin->SetSize( 640天霜河白 ,姜桂成 480 );
renWin->Render();
renWin->SetWindowName("TextureExample");
vtkSmartPointer<vtkRenderWindowInteractor> iren = vtkSmartPointer<vtkRenderWindowInteractor>::New();
iren->SetRenderWindow(renWin);
iren->Initialize();
iren->Start();
return EXIT_SUCCESS;
}
2、在CMake中Configure和Generate:

3、在Visual Studio2017中打开.sln地海传说,生成解决方案灰伯劳,开始执行(不调试)拨号精灵 ,结果如下:


上一篇:stackoverflowerror 下一篇:20170420逛吃逛吃,尝遍各种吃的,好吃的就带你去-梨花的狸

繁华落尽 转瞬即逝

我们需要透过一系列的训练来突破关卡,我们需要达到一个不受到过去历史的羁绊的心境,透过这样的心境,进而引导成为一个适合进行前进到战士人,我们需要成为一个完美无缺的战士,我们的目标是遵循着力量进入无限的领域和穿越!