virtual void apply( StateSet &ss ) { inherited::apply( ss ); // Textures int c = ss.getNumTextureAttributeLists(); for( int i=0; i<c; i++ ) { Texture *t = dynamic_cast< Texture* >( ss.getTextureAttribute( i, StateAttribute::TEXTURE ) ); if( t ) { ++_numInstancedTextures; _textureSet.insert( t ); } } // shader programs Program *p = dynamic_cast< Program* >( ss.getAttribute( StateAttribute::PROGRAM ) ); if( p ) { ++_numInstancedShaderPrograms; _shaderProgramSet.insert( p ); } }