From a23d4f795e28ddb5f97782adcbf9c7eedfb19b31 Mon Sep 17 00:00:00 2001 From: gonchar Date: Tue, 5 Feb 2013 22:32:56 +0100 Subject: [PATCH] added sampler states for working with compressed texture(while using -swf-version==17,18,19), small refactoring in ATFResource --- .../materials/compiler/SamplerVariable.as | 15 +++++++++++++++ .../engine3d/resources/ATFTextureResource.as | 8 ++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/alternativa/engine3d/materials/compiler/SamplerVariable.as b/src/alternativa/engine3d/materials/compiler/SamplerVariable.as index 18cc143..6a21bbb 100644 --- a/src/alternativa/engine3d/materials/compiler/SamplerVariable.as +++ b/src/alternativa/engine3d/materials/compiler/SamplerVariable.as @@ -38,6 +38,21 @@ package alternativa.engine3d.materials.compiler { for (var i:int = 0; i < optsLength; i++) { var op:String = opts[i]; switch(op){ + case "rgba": + upperCode &= ~(0xf00); + break; + case "dxt1": + upperCode &= ~(0xf00); + upperCode |= 0x100; + break; + case "dxt5": + upperCode &= ~(0xf00); + upperCode |= 0x200; + break; + case "video": + upperCode &= ~(0xf00); + upperCode |= 0x300; + break; case "2d": upperCode &= ~(0xf000); break; diff --git a/src/alternativa/engine3d/resources/ATFTextureResource.as b/src/alternativa/engine3d/resources/ATFTextureResource.as index 7be8286..15f0555 100644 --- a/src/alternativa/engine3d/resources/ATFTextureResource.as +++ b/src/alternativa/engine3d/resources/ATFTextureResource.as @@ -80,20 +80,16 @@ package alternativa.engine3d.resources { if (async) { uploadCallback = callback; _texture.addEventListener("textureReady", onTextureReady); - Texture(_texture).uploadCompressedTextureFromByteArray(data, 0, true); - } else { - Texture(_texture).uploadCompressedTextureFromByteArray(data, 0, false); } + Texture(_texture).uploadCompressedTextureFromByteArray(data, 0, async); } else { _texture = context3D.createCubeTexture(1 << data.readByte(), format, false); if (async) { uploadCallback = callback; _texture.addEventListener("textureReady", onTextureReady); - CubeTexture(_texture).uploadCompressedTextureFromByteArray(data, 0, true); - } else { - CubeTexture(_texture).uploadCompressedTextureFromByteArray(data, 0, false); } + CubeTexture(_texture).uploadCompressedTextureFromByteArray(data, 0, async); } } else { _texture = null;