写在前面:
这篇博客也是按照书上的顺序来记录的。由于书上对于vtkColor与vtkTexture介绍较少,而且这两类目前用到的地方也比较少,所以简要记录一下要点,还有记录一下容易忽略的地方。以后有需要的时候,再来回过头来详解。
vtkColor
首先,颜色是视觉观感中重要的一部分。那么,在VTK中,颜色是Actor的一种重要属性。颜色的表达通过vtkColor类来储存。注意,这里介绍的是储存,而非实现。意思就是可以通过vtkColor表示某种颜色,但是具体到哪个物体,哪个面要实现颜色,并不是由vtkColor完成的。vtkColor派生自vtkTuple类。而颜色是物体的属性,具体的控制要由vtkProperty来实现。
有关于vtkColor类的描述可以参考:vtkColor Class Reference。
从官方文档我们可以知道:vtkColor是一种储存颜色的数据类型。通过这个类,我们可以轻松地、系统地表达出VTK支持的任何一种颜色。
那么对于颜色的表达,VTK采用了RGB与HSV两种颜色系统来描述。
- RGB颜色系统:由R、G、B三种组合表示。三个分量取值范围均为0~1。
- HSV颜色系统:由H、S、V三种组合表示。H–>Hue(色相);S–>Saturation(饱和度);V–>Value(值),也可以理解为Intensity(强度)、Bright(亮度)。同样三个分量取值范围均为0~1。
就具体的使用方法而言。vtkProperty::SetColor(r,g,b)可以设置RGB颜色系统的颜色属性值。 类vtkLookupTable提供了HSV颜色系统设置的方法。可参考官方文档: