internal UsingPopBeginEndDraw(IBeginEndDraw draw, DrawState state)
			{
				this.draw = draw;
				this.state = state;
				draw.Begin(state);
			}
		/// <summary>
		/// Adds a begin/end drawing modified (such as a clear buffer modified) into the list of modifiers to be used while the draw target is being drawn
		/// </summary>
		/// <param name="modifier"></param>
		/// <param name="index"></param>
		public void InsertModifier(int index, IBeginEndDraw modifier)
		{
			if (modifiers == null)
			{
				modifiers = new List<IBeginEndDraw>();
				activeModifiers = new List<IBeginEndDraw>();
			}
			modifiers.Insert(index,modifier);
		}
		/// <summary>
		/// Removes a begin/end drawing modified (such as a clear buffer modified) from the list of modifiers that is used while the draw target is being drawn
		/// </summary>
		/// <param name="modifier"></param>
		public bool RemoveModifier(IBeginEndDraw modifier)
		{
			if (modifiers != null)
				return modifiers.Remove(modifier);
			return false;
		}
		/// <summary>
		/// Adds a begin/end drawing modified (such as a viewport modified) to the list of modifiers to be used while the draw target is being drawn
		/// </summary>
		/// <param name="modifier"></param>
		public void AddModifier(IBeginEndDraw modifier)
		{
			if (modifiers == null)
			{
				modifiers = new List<IBeginEndDraw>();
				activeModifiers = new List<IBeginEndDraw>();
			}
			modifiers.Add(modifier);
		}