vtkMappe
及其派生类,负责把输入数据转换为图元(例如显示为点、显示为线、显示为面等)。该类存储需要渲染的数据,以及一些渲染配置。我们经常看到的vtkActor->SetMapper(mapper)
,含义就是把负责提供图元数据的mapper
连接到渲染引擎actor
。
vtkMapper
的重要渲染配置
1.选择使用顶点进行渲染还是拓扑结构(cell data)进行渲染
即将需要渲染的数据解释为点数据还是cell数据,默认是解释为点数据:
//mapper->SetScalarModeToUseCellData();
mapper->SetScalarModeToUsePointData();
数据源vtkUnstructuredGrid
与mapper
也有跟这个类似的设置需要一起设置:
// Use following settings when data is mappped to vertex
grid->GetPointData()->SetActiveVectors("vector_field_name");
grid->GetPointData()->SetActiveScalars("scalar_field_name");
// Use following settings when data is mapped to cell
// grid->GetCellData()->SetActiveVectors("vector_field_name");
// grid->GetCellData()->SetActiveScalars("scalar_field_name");
2.标量可见性开关
控制是否使用标量渲染数据,以及使用标量数据映射颜色(LUT):
mapper->SetScalarVisibility(true);
mapper->SetColorModeToMapScalars();
mapper->UseLookupTableScalarRangeOn();
mapper->SelectColorArray("array_name");
mapper->SetLookupTable(lut);
mapper->Update();
vtkMapper
的继承子类
引用
*VTK的Mapper
*