当前位置:网站首页>vtk学习之texture纹理映射
vtk学习之texture纹理映射
2022-06-10 08:36:00 【Christo3】
1. 实践
#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>
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
//测试文件:data/texture.jpg
int main(int argc, char* argv[])
{
//if (argc < 2)
//{
// std::cout<<argv[0]<<" "<<"TextureFile(*.jpg)"<<std::endl;
// return EXIT_FAILURE;
//}
const char* str = "D:\\workshop\\VTK\\VTK\\vtk_source\\Examples\\Examples\\Chap02\\data\\texture.jpg";
vtkSmartPointer< vtkJPEGReader > reader =
vtkSmartPointer< vtkJPEGReader >::New();
reader->SetFileName(str);
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;
}


注:对输入图片的尺寸大小没有要求
边栏推荐
猜你喜欢

信用卡客户流失预测

Software testing | interview experience from HR's risky routine, absolutely plus points

Hospital blood bank management system source code blood bank source code blood bank management source code hospital source code

Sqlserver restore failed (the database is in use and cannot gain exclusive access to the database)

idea jdbc报错

数据库视图、索引、存储过程、触发器简单创建

Using wechat games to achieve Dragon Boat battle - making zongzi

微信小程序组件observers【监听器】中使用this报错undefined

零基础转行软件测试需要学到什么程度才能找工作

伦敦旅游必去博物馆推荐:伦敦自然历史博物馆
随机推荐
JS obtain the date of birth, gender and age through ID number
Common ports and services
YAML基本语法
Do a good job in data strategic planning and activate data value
js通过身份证号获取出生年月日,性别,年龄
Note taking software: goodnotes 5 Chinese version
【Lingo】求解方程组
Task04:集合运算
想转行,为什么首选软件测试?
Mmsegment SERIES V (custom model)
[lingo] operator
Uniapp always locates the chat page to the bottom display
Web 3: a new era of Internet development
Using wechat games to achieve Dragon Boat battle - making zongzi
R语言使用dplyr包的select函数自定义改变dataframe数据中两个数据列的顺序
PWN:Bad Seed
USB TYPE -A -B -C 接口
顶流编辑器 Atom,将于 12 月 15 日退出历史舞台
wechat_微信小程序分包的配置
What objects are suitable for automated testing?