Hi, David<br><br>Thank you for your reply. The error is gone now. But it turns out the result image is just a black one.<br><br>Here is what I do,<br><br><b>vtkPolyData* polydata = vtkPolyData::New();<br>vtkPolyDataMapper* mapper = vtkPolyDataMapper::New();<br>
vtkActor* actor = vtkActor::New();<br>vtkRenderer* renderer = vtkRenderer::New();<br>vtkRenderWindow* renWin = vtkRenderWindow::New();<br>vtkLight* frontLight = vtkLight::New();<br>vtkLight* backLight = vtkLight::New();<br>
vtkCamera* camera = vtkCamera::New();<br>vtkGenericDataObjectReader* fileReader = vtkGenericDataObjectReader::New();<br>vtkBMPWriter* imageWriter = vtkBMPWriter::New();<br>vtkWindowToImageFilter* filter = vtkWindowToImageFilter::New();<br>
vtkImageCast* cast = vtkImageCast::New();<br><br><br>fileReader->SetFileName("C:\\Users\\Wenlong\\Desktop\\surface.vtk"); //Open .vtk file<br>fileReader->OpenVTKFile();<br>fileReader->Update();<br>
<br>polydata = fileReader->GetPolyDataOutput(); //Get polydata<br><br>frontLight->SetFocalPoint(0, 1, 0); // Set illuminations<br>frontLight->SetPosition(0, 0, 1000000);<br>
frontLight->SetIntensity(1.0);<br><br>backLight->SetFocalPoint(0, 1, 0);<br>backLight->SetPosition(0, 0, -1000000);<br>backLight->SetIntensity(1.0);<br><br>mapper->SetInput(polydata); //Set mapper<br>
<br>actor->SetMapper(mapper); //Set actor<br>actor->GetProperty()->SetColor(0.9, 0.9, 0.9);<br><br>camera->SetViewUp(0, 1, 0); //Set camera<br>
<br>renderer->SetBackground(0, 0, 0); //Set renderer<br>renderer->AddActor(actor);<br>renderer->AddLight(frontLight);<br>renderer->AddLight(backLight);<br>renderer->SetActiveCamera(camera);<br>
renderer->ResetCamera();<br><br>renWin->AddRenderer(renderer); //Set render window<br>renWin->SetSize(512, 512);<br>renWin->Render();<br><br>filter->SetInput(renWin); //Set window to image filter<br>
filter->SetMagnification(1);<br>filter->SetInputBufferTypeToZBuffer();<br>filter->Update();<br><br>cast->SetInput(filter->GetOutput());<br>cast->SetOutputScalarTypeToUnsignedChar(); //Set image cast<br>
cast->Update();<br><br>imageWriter->SetFileName("C:\\Users\\Wenlong\\Desktop\\DepthMap.bmp");<br>imageWriter->SetInput(cast->GetOutput()); <br>imageWriter->Update();<br>imageWriter->Write(); //Write image</b><br>
<br>The outcoming image is a 512x512 black image. I'm not sure which part of the code cause such a problem. Please correct me.<br><br>Many thanks for your kindly help.<br><br>Best wishes<br>Wenlong<br>