I have a feature request for the next Java3D version.

Off-screen rendering.

Right now, if you want to make an application where
Java3D runs on a server and captured frames are shown on a client,
the only way to do it seems to be to call
GraphicsContext3D.readRaster(..)
which can read the currently rendered frame into a Raster object from
which
you can extract an Image object. Unfortunately, what readRaster(..)
captures
is the pixels from the computer display screen in the rectangle of the
Canvas3D.
So if you have any windows popping up over the Java GUI, for any reason
at
all, you get pieces of those other window contents being served kindly
to your
graphics-viewing clients. For a whole host of reasons this is bad.

Ideally, one wants a way to have Java3D be able to render directly into
some kind of Java
buffered image object, or at the very least to be able to image-capture
only the true contents of the Canvas3D, and not overlayed windows.

The driving  issue is that present-day web-based apps targeted at the
masses cannot
assume Java3D or even a VRML player on the client.
They can only assume at most a thin Java (1.1) applet, talking http to a
server.

So we need a way of allowing Java3D to be used effectively as a
rendering server,
for semi-interactive 3D graphics on the client.

I imagine the problem preventing this has something to do with the use
of
graphics cards and native methods. What are the technical prospects for
off-screen
rendering or frame-capturing in Java3D?

Eric

=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/

Reply via email to