internal void Unload()
{
// load each texture unit state
for ( int i = 0; i < textureUnitStates.Count; i++ )
{
( (TextureUnitState)textureUnitStates[ i ] ).Unload();
}
if ( this.HasFragmentProgram )
this._fragmentProgramUsage.Program.Unload();
if ( this.HasVertexProgram )
this._vertexProgramUsage.Program.Unload();
}