1.基于Clipping的体绘制裁剪技术
Clipping技术支持VTKImageData和VTKUntructuredGrid数据类型。该功能由vtkAbstractMapper3D类提供,对于那些使用基于OpenGL的硬件裁剪技术的Mapper类,如vtkPolyDataMapper、vtkVolumeTextureMapper2D、VTKProjectedTetrahedraMapper等,当设置的裁剪面个数超过OpenGL支持的个数(一般为6)时,VTK会反馈一个错误;而对于基于软件的裁剪技术的Mapper类,如vtkVolumeRayCastMapper则没有这些限制,可以支持任意多个裁剪面。使用Clipping技术,可以沿着任意方向将图像切开,便于观察体数据内部细节。下面是例程中的一个实验:#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL); VTK_MODULE_INIT(vtkRenderingFreeType); VTK_MODULE_INIT(vtkInteractionStyle); #include <vtkSmartPointer.h> #include <vtkPlane.h> #include <vtkStructuredPoints.h> #include <vtkStructuredPointsReader.h> #include <vtkGPUVolume