Yes, we’re nailing this bug!
I added a skybox and can confirm that this is causing a conflict with clipping on alpha-ed sprites. I’ve filed this as an issue on Github: https://github.com/away3d/away3d-core-fp11/issues/132
Without skybox: http://www.lidev.com.ar/tests/away3d/sprites_skybox/without_skybox/ (alpha blended sprites and alpha threshold-ed sprites work as expected)
With skybox: http://www.lidev.com.ar/tests/away3d/sprites_skybox/with_skybox/ (alpha threshold-ed sprites only start to become visible with camera zoom out)
view.camera.lens.far = 5000;
view.backgroundColor = 0xFF00FF;
var r:Number = 5000;
var tri:Trident = new Trident();
view.scene.addChild(tri);
var colorMaterial:ColorMaterial = new ColorMaterial(0xFFFFFF);
var plane:Plane = new Plane(colorMaterial, r, r, r);
plane.y = -r/2;
view.scene.addChild(plane);
var bmd:BitmapData = new BitmapData(512, 512, true, 0xFF000000);
bmd.perlinNoise(48, 48, 1, 8, false, true, BitmapDataChannel.RED | BitmapDataChannel.ALPHA, true);
var bmd1:BitmapData = bmd.clone();
bmd1.colorTransform( bmd.rect, new ColorTransform(1, 0, 0) );
var bitmapMaterialForBlending:BitmapMaterial = new BitmapMaterial(bmd);
bitmapMaterialForBlending.alphaBlending = true;
var bitmapMaterialForThreshold:BitmapMaterial = new BitmapMaterial(bmd1);
bitmapMaterialForThreshold.alphaThreshold = 0.5;
var toRads:Number = Math.PI / 180;
for(var i:uint; i < 90; ++i)
{
var sprite:Sprite3D = new Sprite3D( i % 2 == 0 ? bitmapMaterialForThreshold : bitmapMaterialForBlending , 500, 500);
sprite.x = 0.7 * r * Math.cos( 4 * i * toRads );
sprite.z = 0.7 * r * Math.sin( 4 * i * toRads );
view.scene.addChild(sprite);
}
var perlin:BitmapData = new BitmapData(256, 256, false, 0);
perlin.perlinNoise(50, 50, 8, uint(1000*Math.random()), false, true, 7, true);
var map:CubeMap = new CubeMap(perlin, perlin, perlin, perlin, perlin, perlin);
var skybox:SkyBox = new SkyBox(map);
// view.scene.addChild(skybox); // uncomment to see sprite/skybox conflict