- You can get this with FP.getStage3DBitmapData, but be aware that it's slow. Here's the function documentation:
This replaces FP.buffer in Stage3D mode. It is SLOW and requires that Engine.enableRenderTargets is true, and will render the scene into a bitmap data up to the layer you specify (leave layer blank if you want to draw everything). Note that certain things are ignored, like screen scaling and rotation; you'll have to apply these to the bitmap yourself
This is not really usable on mobile unless you're just getting a single buffer capture e.g for a menu background. On desktop it should be okay as it essentially does a single-frame software render using regular FlashPunk mode, but if you do it once per frame or more then it'll defeat the point of using Stage3D mode pretty much.
That's a good question. I use a command line to compile the swc and I'm unaware of any options to compile in release mode; I'll have a look into this (or if anyone knows how it can be done using the Air ADT packager, let me know). Currently it's compiled in whatever mode the default is for swc.
Thanks for the bug report, I'll get this fixed for the next version. Is it worth putting a github up for the public part of the code so that these kinds of fixes could be added by the community?
For BlendMode.SUBTRACT, I can actually add that if I can figure out what blending factors to use. Currently I have:
case BlendMode.ADD: _context3D.setBlendFactors(Context3DBlendFactor.ONE, Context3DBlendFactor.ONE); break;
case BlendMode.MULTIPLY: _context3D.setBlendFactors(Context3DBlendFactor.DESTINATION_COLOR, Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA); break;
case BlendMode.SCREEN: _context3D.setBlendFactors(Context3DBlendFactor.ONE, Context3DBlendFactor.ONE_MINUS_SOURCE_COLOR); break;
case "none": _context3D.setBlendFactors(Context3DBlendFactor.ONE, Context3DBlendFactor.ZERO); break;
default: _context3D.setBlendFactors(Context3DBlendFactor.ONE, Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA);
If it can't be done with regular blending factors as above, there is also the option to write a specific AGAL shader for it.