/********************************************************************** 文件名: 2.2_RenderCylinder-Lights.cpp Copyright (c) 张晓东, 罗火灵. All rights reserved. 更多信息请访问: http://www.vtkchina.org (VTK中国) http://blog.csdn.net/www_doling_net (东灵工作室) **********************************************************************/ #include #include #include #include #include #include #include #include #include #include #include int main() { vtkSmartPointer cylinder = vtkSmartPointer::New(); cylinder->SetHeight( 3.0 ); cylinder->SetRadius( 1.0 ); cylinder->SetResolution( 10 ); vtkSmartPointer cylinderMapper = vtkSmartPointer::New(); cylinderMapper->SetInputConnection( cylinder->GetOutputPort() ); vtkSmartPointer cylinderActor = vtkSmartPointer::New(); cylinderActor->SetMapper( cylinderMapper ); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor( cylinderActor ); renderer->SetBackground( 1.0, 1.0, 1.0 ); vtkSmartPointer renWin = vtkSmartPointer::New(); renWin->AddRenderer( renderer ); renWin->SetSize( 640, 480 ); renWin->Render(); renWin->SetWindowName("RenderCylinder-Lights"); vtkSmartPointer iren = vtkSmartPointer::New(); iren->SetRenderWindow(renWin); vtkSmartPointer style = vtkSmartPointer::New(); iren->SetInteractorStyle(style); vtkSmartPointer myLight = vtkSmartPointer::New(); myLight->SetColor(0,1,0); myLight->SetPosition(0,0,1); myLight->SetFocalPoint( renderer->GetActiveCamera()->GetFocalPoint()); renderer->AddLight(myLight); vtkSmartPointer myLight2 = vtkSmartPointer::New(); myLight2->SetColor(0,0,1); myLight2->SetPosition(0,0,-1); myLight2->SetFocalPoint( renderer->GetActiveCamera()->GetFocalPoint()); renderer->AddLight(myLight2); iren->Initialize(); iren->Start(); return EXIT_SUCCESS; }