VTK_Day_2_Light

来源:互联网 发布:deb文件安装到linux 编辑:程序博客网 时间:2024/06/17 00:53

Tutorial_three 


The tutorial above shows the vivid explanation of the light setting.

Please be careful. After the 3D image present on you, do not forget to zoom in or zoom out to make it smaller or bigger. After finish such action, you could see the light at last.

#include "vtkRenderWindow.h"#include "vtkRenderer.h"#include "vtkSmartPointer.h"#include "vtkRenderWindowinteractor.h"#include "vtkInteractorStyleTrackballCamera.h"#include "vtkCylinderSource.h"#include "vtkPolyDataMapper.h"#include "vtkActor.h"#include "vtkProperty.h"#include "vtkTexture.h"#include "vtkJPEGReader.h"#include "vtkLight.h"#include "vtkCamera.h"int main(){vtkSmartPointer <vtkJPEGReader> jpegReader = vtkSmartPointer<vtkJPEGReader>::New();jpegReader->SetFileName(".\\img\\ysh.jpg");vtkSmartPointer <vtkTexture> texture = vtkSmartPointer<vtkTexture>::New();texture->SetInputConnection(jpegReader->GetOutputPort());texture->InterpolateOn();vtkSmartPointer <vtkCylinderSource> cylinder = vtkSmartPointer<vtkCylinderSource>::New();cylinder->SetHeight(3.0); cylinder->SetRadius(1.0);cylinder->SetResolution(10);vtkSmartPointer <vtkPolyDataMapper>  cylinderMapper = vtkSmartPointer <vtkPolyDataMapper>::New();cylinderMapper->SetInputConnection(cylinder->GetOutputPort());vtkSmartPointer <vtkActor> cylinderActor = vtkSmartPointer<vtkActor>::New();cylinderActor->SetMapper(cylinderMapper);cylinderActor->GetProperty()->SetColor(1.0, 0, 1.0);cylinderActor->SetTexture(texture);vtkSmartPointer <vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(cylinderActor);renderer->SetBackground(0.5, 0.5, 0.5);vtkSmartPointer <vtkLight> myLight = vtkSmartPointer <vtkLight>::New();myLight->SetColor(1,0,0);myLight->SetPosition(1,1,1);myLight->SetFocalPoint(renderer->GetActiveCamera()->GetFocalPoint());renderer->AddLight(myLight);vtkSmartPointer <vtkLight> myLight2 = vtkSmartPointer <vtkLight>::New();myLight2->SetColor(0,0,1);myLight2->SetPosition(0,0,-1);myLight2->SetFocalPoint(renderer->GetActiveCamera()->GetFocalPoint());renderer->AddLight(myLight2);vtkSmartPointer <vtkRenderWindow> renWin = vtkSmartPointer <vtkRenderWindow>::New();renWin->AddRenderer(renderer);renWin->SetSize(300, 300);vtkSmartPointer <vtkRenderWindowInteractor> iren = vtkSmartPointer <vtkRenderWindowInteractor>::New();iren->SetRenderWindow(renWin);vtkSmartPointer<vtkInteractorStyleTrackballCamera> style = vtkSmartPointer <vtkInteractorStyleTrackballCamera>::New();iren->SetInteractorStyle(style);iren->Initialize();iren->Start();return 0;}







0 0
原创粉丝点击