Ingo,
Once again, thanks for the test program. The program does
hang on my machine. I've filed a bug report, and hope it will be fixed
in our next release.
BugId 4619139 : Using TransparencySortingPolicy may hang application.
thanks,
Chien Yang
Java 3D Team.
> Delivered-To: [EMAIL PROTECTED]
> X-Authentication-Warning: oc30.uni-paderborn.de: ib set sender to
[EMAIL PROTECTED] using -f
> Date: Thu, 3 Jan 2002 18:59:32 +0100
> From: Ingo Brunberg <[EMAIL PROTECTED]>
> Subject: [JAVA3D] TransparencySortingPolicy (another bug?)
> To: [EMAIL PROTECTED]
>
> Hi folks,
>
> one of the new features in j3d 1.3b1 to set what is called a
> TransparencySortingPolicy. While this is fine in theory, I found a lot
> of problems. Those may be specific to Linux in combination with
> several graphics cards, but that is just a guess. I have tested this
> with a Matrox G400 and a Geforce II.
>
> The first and most serious problem is that an application hangs, when
> a cylinder (maybe this occurs with other primitives, too) with
> transparent appearance should be displayed. I have attached a test
> programm to demonstrate that.
> The second problem is that transparent objects, which don't cause a
> crash, leave some artifacts on the screen (perhaps the same problem
> Bob Gray described in a recent e-mail).
>
> It's a pity, that this new feature, which should have solved some of
> Java 3D's transparency problems is so completely unusable.
>
> Regards,
>
> Ingo
>
>
> ===File ~/TSPTest.java======================================
> import java.awt.Font;
> import javax.swing.JFrame;
> import javax.media.j3d.*;
> import javax.vecmath.*;
> import com.sun.j3d.utils.universe.*;
> import com.sun.j3d.utils.behaviors.mouse.*;
> import com.sun.j3d.utils.geometry.Cylinder;
>
> public class TSPTest extends JFrame {
> public static void main(String[] args) {
> TSPTest frame = new TSPTest();
> Canvas3D canvas = new Canvas3D(
> SimpleUniverse.getPreferredConfiguration());
> SimpleUniverse universe = new SimpleUniverse(canvas);
> universe.addBranchGraph(frame.createSceneGraph());
>
> /*
> If the following line is uncommented, the application hangs
> (at least on some Linux configurations)
> */
>
//universe.getViewer().getView().setTransparencySortingPolicy(View.TRANSPARENCY_
SORT_GEOMETRY);
>
> Transform3D vpLocation = new Transform3D();
> TransformGroup vptg = universe.getViewingPlatform(
> ).getViewPlatformTransform();
> vptg.getTransform(vpLocation);
> vpLocation.setTranslation(new Vector3d(0.0, 0.0, 8.0));
> vptg.setTransform(vpLocation);
> canvas.setSize(300, 300);
> frame.getContentPane().add(canvas);
> frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
> frame.pack();
> frame.show();
> }
>
> private BranchGroup createSceneGraph() {
> BranchGroup branch = new BranchGroup();
>
> TransformGroup tg = new TransformGroup();
> tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
> tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
> branch.addChild(tg);
>
> MouseRotate myMouseRotate = new MouseRotate();
> myMouseRotate.setTransformGroup(tg);
> myMouseRotate.setSchedulingBounds(new BoundingSphere());
> branch.addChild(myMouseRotate);
>
> DirectionalLight light = new DirectionalLight();
> light.setInfluencingBounds(new BoundingSphere());
> branch.addChild(light);
>
> Appearance appearance = new Appearance();
> appearance.setTransparencyAttributes(
> new TransparencyAttributes(
> TransparencyAttributes.NICEST, 0.5f));
> Cylinder cylinder = new Cylinder(1.0f, 2.0f, appearance);
> tg.addChild(cylinder);
>
> return branch;
> }
> }
> ============================================================
>
> ===========================================================================
> 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".
===========================================================================
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".