# How can I color the point by vtkPolyData

**URL:** https://discourse.vtk.org/t/how-can-i-color-the-point-by-vtkpolydata/3574
**Category:** Support
**Created:** [June 17, 2020, 2:14am UTC](https://discourse.vtk.org/t/how-can-i-color-the-point-by-vtkpolydata/3574 "2020-06-17T02:14:45Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![11110](https://discourse.vtk.org/user_avatar/discourse.vtk.org/11110/32/1989_2.png) [@11110](https://discourse.vtk.org/u/11110)
#### Post date: [June 17, 2020, 2:14am UTC](https://discourse.vtk.org/t/how-can-i-color-the-point-by-vtkpolydata/3574/1 "2020-06-17T02:14:45Z")

</div>

Hi, my ply file like this

> ply  
> format ascii 1.0  
> element vertex 1722844  
> property float x  
> property float y  
> property float z  
> property uchar red  
> property uchar green  
> property uchar blue  
> element face 0  
> property list uchar int vertex\_indices  
> end\_header  
> -348.008 -316.75 1434.08 40 64 34  
> -148.82 -302.887 1409.34 49 80 56  
> -144.013 -299.44 1393.3 47 78 60  
> -98.4511 -229.519 1067.96 48 75 59

I use vtkPolyData and vtkPLYReader to read file and show

```
vtkSmartPointer<vtkPolyData> polyData= vtkSmartPointer<vtkPolyData>::New();
auto reader = vtkSmartPointer<vtkPLYReader>::New();
reader->SetFileName ("my.ply");
polyData = reader->GetOutput();

  // Visualization
  vtkSmartPointer<vtkPolyDataMapper> mapper =
    vtkSmartPointer<vtkPolyDataMapper>::New();
  mapper->SetInputData(polyData);

  vtkSmartPointer<vtkActor> actor =
    vtkSmartPointer<vtkActor>::New();
  actor->SetMapper(mapper);
  actor->GetProperty()->SetPointSize(1);

  vtkSmartPointer<vtkRenderer> renderer =
    vtkSmartPointer<vtkRenderer>::New();
  vtkSmartPointer<vtkRenderWindow> renderWindow =
    vtkSmartPointer<vtkRenderWindow>::New();
  renderWindow->AddRenderer(renderer);
  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
    vtkSmartPointer<vtkRenderWindowInteractor>::New();
  renderWindowInteractor->SetRenderWindow(renderWindow);

  renderer->AddActor(actor);
  renderer->SetBackground(namedColors->GetColor3d("Burlywood").GetData());
  renderWindow->Render();
  renderWindowInteractor->Start();

```

I knew I can set

```
polyData->GetPointData()->SetScalars(colors) 

```

to colored points. But how can I get each points’ rgb values by polyData?

---

<div class="post-metadata">

### Author: ![Michael](https://discourse.vtk.org/user_avatar/discourse.vtk.org/michael/32/16_2.png) [@Michael](https://discourse.vtk.org/u/Michael)
#### Post date: [June 17, 2020, 7:38pm UTC](https://discourse.vtk.org/t/how-can-i-color-the-point-by-vtkpolydata/3574/2 "2020-06-17T19:38:24Z")

</div>

Add this line: `mapper->SetColorModeToDirectScalars()`
