Example #1
0
		public static void DecodeTextureDataToWriter(byte[] data, int width, int height, TextureFormat format,
													PipelineWriter writer)
		{
			if (!format.IsSupported())
				throw new FormatException("Unsupported format: " + format.ToString());
			PipelineReader reader = null;
			switch (format)
			{
				case TextureFormat.DXT1:
					reader = new DXT1Reader(data, format, width, height);
					break;
				case TextureFormat.DXT2:
				case TextureFormat.DXT3:
					reader = new DXT3Reader(data, format, width, height);
					break;
				case TextureFormat.DXT4:
				case TextureFormat.DXT5:
					reader = new DXT5Reader(data, format, width, height);
					break;
				case TextureFormat.BC4:
					reader = new BC4Reader(data, format, width, height);
					break;
				case TextureFormat.BC5:
					reader = new BC5Reader(data, format, width, height);
					break;
				default:
					reader = new DefaultReader(data, format, width, height);
					break;
			}
			reader.Read(writer);
		}
Example #2
0
			protected override void ReadBlock(SimpleBinaryStream stream, ref PixelColor[,] cache, int blockX)
			{
				base.ReadBlock(stream, ref cache, blockX);
				DXT5Reader.ReadBC3AlphaBlock(stream.ReadInt64(), ref cache, blockX * 4, (ref PixelColor pixel, float value) =>
				{
					pixel.G = value;
				});
			}