示例#1
0
BSP::~BSP()
{
    while( _renderings.size() )
    {
        Rendering* rendering = *_renderings.begin();
        remove( rendering );
        rendering->release();
    }
    while( _particleSystems.size() )
    {
        ParticleSystem* pSys = *_particleSystems.begin();
        remove( pSys );
        pSys->release();
    }
    while( _clumps.size() )
    {
        Clump* clump = *_clumps.begin();
        remove( clump );
        clump->release();
    }
    while( _lights.size() )
    {
        Light* light = *_lights.begin();
        remove( light );
        light->release();
    }
    delete _root;
    for( int i=0; i<_numShaders; i++ ) _shaders[i]->release();
    delete _shaders;
    delete _shadowVolume;
}