 		
 		public function DrawCall(vertexConstants 		: Vector.<Number>,
 								 fragmentConstants 		: Vector.<Number>,
+								 textureResources		: Vector.<ITextureResource>,
 								 vertexInputComponents	: Vector.<VertexComponent>,
 								 vertexInputIndices		: Vector.<uint>,
 								 bindings				: Vector.<IParameterBinding>)
 		{
-			_vertexConstants = vertexConstants;
-			_fragmentConstants = fragmentConstants;
+			_vertexConstants = vertexConstants.concat();
+			_fragmentConstants = fragmentConstants.concat();
+			_textureResources = textureResources.concat();
 			_inputComponents = vertexInputComponents;
 			_inputIndices = vertexInputIndices;
 			_bindings = bindings;

		{
			return _inputComponents;
		}

		public function setStreams(vertexStreams 	: Vector.<IVertexStream>,
								   indexStream		: IndexStream) : void
		{

	
	import flash.display3D.Context3D;
	import flash.display3D.Context3DProgramType;
	
	public final class DrawCall
	{
		private var _vertexConstants	: Vector.<Number>					= null;
		private var _fragmentConstants	: Vector.<Number>					= null;
		private var _textureResources	: Vector.<ITextureResource>			= new Vector.<ITextureResource>(8, true);
		private var _bindings			: Vector.<IParameterBinding>		= null;
		private var _nameToBinding		: Object							= {};
		
		private var _numVertexBuffers	: int								= 0;
		private var _vertexBuffers		: Vector.<VertexBuffer3DResource>	= new Vector.<VertexBuffer3DResource>(8, true);
