hello gregory,

java3d cannot draw on Graphics or Graphics2D objects. it uses an internal
"frame buffer" to draw the polygons on. java3d makes use of hardware
acceleration and therefore leaves rendering to the 3d api (like open/gl or
direct3d).

accelerated 3d graphics cards are fast because they are drawing the
(textured or non-textured) polygons, lines and points directly to this frame
buffer, without using any software functions for primitive output.

also, the projection and depth sorting process in Java3D is opaque. i don't
think there is a way to have Java3D project all vertices and then access the
resulting 2d-vertices (except for manually using the Transform3D class).

the only possibility you have to access Java3D output is reading the pixel
data from the frame buffer after it has been drawn. however, I suspect that
you require vector-based data, like the polygon corners, not a bitmap.

the only way i can imagine to achieve something similar is implement your
own tiny 3d "engine" which does transformation, projection and depth
sorting, then use the standard fillPoly methods of your Graphics object to
output the scene. i agree, this is not as nice as simply using j3d.

-- julian


-----Original Message-----
From: Discussion list for Java 3D API
[mailto:[EMAIL PROTECTED]]On Behalf Of Gregory Bradford
Sent: Tuesday, February 15, 2000 8:17 PM
To: [EMAIL PROTECTED]
Subject: [JAVA3D] Printing to a Vector File


Hello everyone,

For a current 2d application we have a class called "cgm" which extends
the Graphics class in Java.  The cgm.java class writes a vector based
graphics file (CGM format of course) as it's output.  Thus, we can print
our 2d application to our cgm object and have an output that is editable
in many of the more popular presentation packages, such as Freelance and
Powerpoint.

I've seen posts to this group concerning how to print Java 3d to a JPEG
file.  For our customers a JPEG file is no better , if not worse, than a
screen snapshot.

My question is, does anyone have an idea as to whether it is (or would
be) possible to extend the Graphics2d class and then have Java 3d use
this new object (which is a Graphics2d object) to "draw on".

If it is technically possible to do the above I would appreciate a
confirmation.

If the above cannot be done I would appreciate someone telling me that
as well.  A lot of time can be spent trying to do things which aren't
going to happen under any circumstances.

As always, thank you very much for your time, patience, and excellent
advice.

Regards,

Gregory Bradford

===========================================================================
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