Ejemplo n.º 1
0
   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 );
      }
   }