osg.ColorMaski是一个开关类,表示是否启用指定成分的颜色蒙版。颜色蒙版决定了在帧缓存写入期间哪些颜色成分可以写入。实际上,颜色掩码是一个用来设置每个颜色成分是否活动的布尔屏蔽器,可以控制帧缓存中的输出颜色。当一个颜色成分的掩码被设置为false时,不会有颜色写入到帧缓存。
```CPP class osg::ColorMaski : public osg::StateAttribute;
## 继承关系
继承自:osg::StateAttribute → osg::osg::Object → osg::osg::Referenced
## 成员函数
```CPP
// 通过构造函数设置蒙版
ColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
// 设置索引
void setIndex(GLuint index);
GLuint getIndex() const;
// 设置颜色蒙版
void setMask(GLboolean r, GLboolean g, GLboolean b, GLboolean a);
void getMask(GLboolean &r, GLboolean &g, GLboolean &b, GLboolean &a) const;
// 复制函数
virtual osg::Object *cloneType() const;
virtual osg::Object *clone(const osg::CopyOperation ©op) const;
virtual bool isSameKindAs(const Object *other) const;
virtual const char* libraryName() const;
virtual const char* className() const;
// 应用函数
virtual void apply(osg::State &state) const;
index
: 指定蒙版索引。r
,g
,b
,a
:表示指定颜色成分的蒙版。设置红色、绿色、蓝色组件的颜色蒙版,需要保留透明度:
osg::ColorMaski* color_mask = new osg::ColorMaski(0, GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00270.html