Ok, I looked into it a bit, and Flash’s 3d support is, indeed, very limited; it sounds like it’s just able to apply perspective correction to textured triangles, and this may be hardware accelerated, but they don’t have a full 3d engine. So you’re right, no direct OpenGL API or anything like that.
I still don’t think I agree, though, that providing OpenGL access would open up a security hole. Is there something I don’t know about JOGL’s API that would permit system pwnage? I’ve never heard of an exploit like that before.
I guess I’m not entirely sure what you mean here. To me, a Java wrapper around OpenGL does turn the underlying native code into an implementation detail. That’s kind of the point of OpenGL, to expose a useful graphics API without forcing you to interface directly with the graphics card. I don’t see any need to break out of the sandbox for that, especially if the native code at the interface is controlled by Sun (which it is, if we’re talking about JOGL).
We may just be arguing different points here, I’m not sure. I agree with Cas, I don’t see any conceivable security hole in exposing the OpenGL API, there’s no route that I know of that allows an OpenGL call to do anything bad to your computer (modulo, of course, a real devious bug in the driver code that accesses the graphics card, which is a totally different issue that shouldn’t be Sun’s concern at all, since it would be someone else’s bug).
At the risk of repeating myself: to force a complete break from the sandbox to achieve something that should be possible from within it is bad bad bad security practice. Without a finer grained security mechanism (which would be all but impossible to phase in at this point in Java’s evolution), the best solution is to directly allow access, even if only in limited form, to the safe bits of functionality that are most commonly used.
