Creating a RED::LayerSet
// Building a sample 'layerset' with two layers:
RED::LayerSet layerset;
RC_TEST( layerset.AddLayer( RED::Object::GetIDFromString( "layer1" ) ) );
RC_TEST( layerset.AddLayer( RED::Object::GetIDFromString( "layer2" ) ) );
In the sample code above, a RED::LayerSet is created on the program stack with two layers added to it 'layer1' and 'layer2'. This layerset object will intersect (RED::LayerSet::Intersects) with any other layerset that has received 'layer1' or 'layer2'. It'll also intersect with RED::LayerSet::ALL_LAYERS.
A RED::LayerSet is used for different tasks:
- Shape visibility control using RED::IShape::ApplyLayerSet.
- Shader scope definition using RED::IMaterial::AddShaderToPass.
- Lighting control using RED::ILightShape::SetLayerSetLit, RED::ILightShape::SetLayerSetShadowCaster or RED::ILightShape::SetLayerSetShadowReceiver.
Layersets of shapes and materials are compared to the RED::LayerSet used by the rendered viewpoint and defined by RED::IViewpoint::ApplyLayerSet.
![]() | Creating and destroying shapes![]() |