More updates from the creator of basis here.
He brought up the same point I presented in my previous post:
The only thing that looks iffy is the texture format being used for PVRTC1:
iPad = THREE.RGB_PVRTC_4BPPV1_Format = 35840;
His suggestions to me:
For an alpha texture like this, it may be better to use 4444 or 32-bit instead of PVRTC1 (or perhaps a larger texture).
I’m not very experienced with three.js, so you may want to ask on one of their developer forums. The basis transcoder can supply 4444, 565, or 32-bit texture data (along with all the other GPU tex formats). But I’m unsure if three.js supports it.
Also, you may just want to see if the three.js folks have already fixed the problem, because it appears to be that they aren’t using a RGBA format for PVRTC1.
Still no solution though. Anyone know how to leverage 4444 or 32-bit format? Or have any other ideas?
One other note that seems weird to me, which you’ll find in the thread on basis github:
Ya I noticed that the iPad format was RGB, which would make sense as to why no alpha is appearing. The weird part is it appears to be rendering the alpha channel of the texture instead of the RGB channels, since it’s showing white on the tree, black on fully transparent ground, and grey on the shadow.