 		private static const FORMAT_COMPRESSED			: String	= Context3DTextureFormat.COMPRESSED;
 		private static const FORMAT_COMPRESSED_ALPHA 	: String 	= Context3DTextureFormat.COMPRESSED_ALPHA;
 		
-		private var _texture	: Texture		= null;
-		private var _mipmap		: Boolean		= false;
-
-		private var _bitmapData	: BitmapData	= null;
-		private var _atf		: ByteArray		= null;
-		private var _atfFormat	: uint			= 0;
-
-		private var _width		: Number		= 0;
-		private var _height		: Number		= 0;
-
-		private var _update		: Boolean		= false;
-		private var _resize		: Boolean		= false;
-
+		private static const TEXTURE_FORMAT_TO_SAMPLER	: Array 	= []
+		{
+			TEXTURE_FORMAT_TO_SAMPLER[FORMAT_BGRA] 				= SamplerFormat.RGBA;
+			TEXTURE_FORMAT_TO_SAMPLER[FORMAT_COMPRESSED] 		= SamplerFormat.COMPRESSED;
+			TEXTURE_FORMAT_TO_SAMPLER[FORMAT_COMPRESSED_ALPHA] 	= SamplerFormat.COMPRESSED_ALPHA;
+		}
+		
+		private var _texture		: Texture		= null;
+		private var _mipmap			: Boolean		= false;
+
+		private var _bitmapData		: BitmapData	= null;
+		private var _atf			: ByteArray		= null;
+		private var _atfFormat		: uint			= 0;
+		private var _format 		: String 		= FORMAT_BGRA;
+
+		private var _width			: Number		= 0;
+		private var _height			: Number		= 0;
+
+		private var _update			: Boolean		= false;
+		private var _resize			: Boolean		= false;
+
+		public function get samplerFormat() : uint
+		{
+			return TEXTURE_FORMAT_TO_SAMPLER[_format];
+		}
+		
 		public function get width() : uint
 		{
 			return _width;

package aerys.minko.render.resource.texture
{
	import aerys.minko.render.resource.Context3DResource;
	
	import flash.display.BitmapData;
	import flash.display3D.Context3DTextureFormat;

				if (_texture)
					_texture.dispose();
				
				_texture = context.createTexture(
					_width,
					_height,
					_format,
					_bitmapData == null && _atf == null
				);

