, Sr. Member
The Simple way….
You can do this with the standard framework, though it would be heavy to do it every frame. If you’re going to be looking at 4 cameras all the time, I would have the 3D window in the background, not visible and in a size that is a quarter of the screen size.
From there you can change camera angle/render out to bitmapData/ change camera, render again, etc. You don’t necessarily need to render these back to your 3D scene, but that depends on the exact application.
The screen capture code for Away3D has changed over the different versions and I have to admit I haven’t use it in Gold yet, but it goes something like this…
var bitmapData:BitmapData = new BitmapData(yourview.width, yourview.height);
yourview.renderer.swapBackBuffer = false;
yourview.render();
yourview.stage3DProxy.context3D.drawToBitmapData(bitmapData);
yourview.renderer.swapBackBuffer = true;
var bitmap:Bitmap = new Bitmap(bitmapData);
(Thanks Ivan… http://away3d.com/forum/viewthread/3375/ )
As for you camera angles you can either move the camera to each new position before render, or you can create 4 cameras and assign each one before render…
yourview.camera = camera1;
Gotcha: In the “Pepper player” (Googles version of Flash Player) for Chrome, there is a bug which can result in the stage3d instance not being captured, but as you are targeting iOS you might not have to worry about that.
OK, so that was the simple way!
The alternative is to write your own shader within the Away3D framework.
Might sound like a tall order, but you might want to check out the new Reflective material in dev branch. That renders a cubic map from a fixed position in the scene and then uses that within a texture, in realitime, in order to provide realtime reflections. What you want to do is actually very, very similar, i.e. render camera view, and use as texture on the GPU.
Good Luck with that, and if you manage it, don’t forget to share