Yesterday, I posted a damning critique of Flash’s native 3D.
Today I noticed that if you right-click on yesterday’s SWF and show the redraw regions, you can see that it’s redrawing the contents of the entire stage, even though I put the scene in a scrollRect. Is it seriously rendering a scene that’s thousands of pixels wide before displaying it ?!?!?!? Oh, no. No they DIDN’T.
Today I ported the scene to the Away3D rendering engine. Here’s the result:
It’s beautiful, and provides access to low-level drawing routines, light sources, normal maps, … It was speedy at first, then slowed down considerably when I added the glowing floors. (Each glow is 16+ triangles right now, for various reasons including: I can’t render objects in my own custom order.) This makes yesterday’s version look performant, I’m reluctant to admit.
Possible next steps:
- Reduce the native 3D rendering area, see if performance improves?
- Grow beyond Flash, embrace the future and try Unity 3D?
- Dump this project, finish that iPhone game I started, make a million dollars in 2 weeks?