[_] How do I get there?
Tom Gidden
tom at gidden.net
Tue Jun 3 16:44:21 BST 2008
On 3 Jun 2008, at 16:07, Ben Reed wrote: > > I would stick with whats around and maybe tweak that to be honest, i > dont see the benefit in reinventing the wheel. Papervision 3D has > Collada support so models can be created and out put from just about > and 3D modelling environment. Trying to build a render engine to > play nice with every browser, every graphics card and every possible > set up is a huge HUGE task. Agreed. Papervision3D is surprisingly quick, even though the code quality is (IMHO) fairly poor and inefficient, such as a bad object model (eg. the discrepancy between Vertex3D and Number3D and the resulting superfluous casts), and a fairly braindead approach to projection (eg. all objects are reprojected on every frame... I ended up overriding the projection stage do conditional projection => threefold performance improvement) The major speed problem with PV3D, though, is fill rate and the lack of a decent 3D projection transform, both of which are apparently to be improved on by Flash 10. The use of 2D transforms is why textures in PV3D look either slightly off (due to lack of perspective transformation), or slow (due to use of subdivision to disguise lack of perspective transformation). I agree the OP is asking the impossible though, and even if plugins were acceptable, it'd be a major programming job even for an über- coder, which is why PV3D (a _relatively_ straightforward coding project) has taken well over a year to get this far. Bone deformation and shadows are very intensive, and not practical in any of the suggested technologies while using a high polygon count. I mean, they're hard enough to do well in native code. What's being asked for is high-powered hardware-accelerated native code performance, yet in a browser without any (extra?) plugins. Not going to happen. There is arguably a place for exposing OpenGL/DirectX 3D capabilities to the browser, but the argument so far is that it would be practically impossible to guarantee any level of minimum spec... the difference just between desktop PCs is bad enough, let alone when you bring in mobile devices. IIRC, the stated reason the iPhone doesn't support Flash and OpenGL (only having OpenGL ES instead) is the hardware spec, esp. w.r.t. battery life, and it's clear that the iPhone is, quite frankly, the daddy right now. It seems that mobile platforms are far more interesting to people like Adobe now, as they can actually make real money out of them. As I understand it, this is the reason there isn't a proper hardware- accelerated "Flash 3D" as yet. (Flash devs, am I right?) Plus, it was tried before with VRML in the mid-/late-nineties. Admittedly, the hardware wasn't really up to it then, but as I remember it, no-one ever found a killer app for VRML, so there was never any drive to fix those problems. Tom -- Tom Gidden http://gidden.net/tom