After looking into Java3D for a while, I liked it a lot. There’s a scene graph metaphor in there that help bridge the gap from something Papervision, which has a much looser method for scene control, to Renderware – or any other fully-fledged 3D system. It’s based on top of JoGL, which means you could delve down into openGL-like syntax for finer grained control, and most importantly, it runs fast enough to play with about 15 times the polygon count of Papervision.
The big downside, though, is that it requires Java (~17MB download) – and Java 3D (another 7MB) to run, and if you want to use it twice, chances are you’ll have to download it twice.
The only alternative I could really find was Unity3D, a relatively recent 3D engine and development platform. It’s hardware accelerated, runs on Mac and Windows (no Linux build unfortunately), and has a browser plugin that only runs to about 2.5MB – about the same size as Silverlight or Flash 10, but a lot simpler to install.
Terrific! The only problem is that it’s a Game Development tool with an emphasis on ‘Drag and Drop Everything”. As a programmer, I only really started getting into Flash when I could produce stuff entirely in code – while the visual editor is good for animation, I prefer to be able to see exactly what the computer thinks I’m doing.
After mucking about with Unity for a few weeks, I have begun to see how to circumvent the visual editor and work entirely in code, and I have managed to get to this point. Click in the blue region to draw points, click back on the first one to create an extrusion from it. If you click clockwise it’ll come out inside out, but making it counter-clockwise will make it normal.
While this is pretty much the same as the Flash version I produced a few months ago, the fact that it’s in Unity means it can have realtime lighting and at least 15 times the polygons. I’m looking forward to taking this further!