How, ultimately, does papervision3d (the popular 3D rendering package for Flash) draw transformed textures onto the screen?
Is it internally using any of Flash's rendering apparatus - i.e. by drawing textures into DisplayObjects and transforming them, or with 3D MovieClips for example? Or perhaps filters? Or is it ultimately just reading pixels out of the textures and painting them into the output, as you would in any software platform?
I ask because the straightforward answer would be the latter one, but after a little testing it seems that getPixel
and setPixel
simply aren't fast enough for this kind of approach, so it seems like there must be something more arcane going on.
Thanks for any info!
Edit - my summary of the answer: Papervision does not do perspective transforms, per se. It does only scale and skew transforms on each triangle of texture, and the illusion of perspective arises if you use enough triangles. The affine transformations make use of Flash's rendering apparatus, so that's how costly pixel operations are avoided.