James Goldwater wrote:

As far as I can tell (and I'm so _not_ an expert at this) - you can't.
Although you can get a Graphics2D object from a Canvas3D and draw on
that, it absolutely kills performance.

And causes lots of native exceptions to be thrown.

The j3d.org packages include examples of overlay classes, which kind-of
allow you to fake it.  What these do is however a mere convenience: they
just insert the relevant 2d objects in the 3d universe at a z=0 position
 for your viewpoint.

What do you mean?  Does this write raster data?  I've tried (with some
sucess) to position raster objects under a transfom that's identical to
the one for my viewing platform.  Effectively you can draw 2D objects
this way.  Unfortunately, if you have any geometry which comes close to
the eye, it pokes through your labels.

Woudl you think I was on the right track with this method?

I ended up doing this myself manually:  I used the LocalToWindow class
(found on Sun's java3d-interest mailinglist archives) which translates
local 3d coords to window coords, and wrote an inverse function.  But
that may not be appropriate in your application. (Mail me offlist for
the code if you want).

Have done so. Thanks for the help.

I look forward to being contradicted!

James.


My other idea was to create an offscreen Canvas3D and draw my 3D data
into a BufferedImage which I could then mangle however I wanted and
bitblt into an ordinary Swing component.  Are there any drawbacks to
this method you would know of?

(Another 2D question: in my experience, BufferedImages are quite slow
which is why I still manipulate all my image data with Java 1.0 image
producers and consumers.  Would a BufferedImage have a performance hit
with J3D?  How useful would learning about generic RenderedImages be?)

Mark McKay

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to