Hi Kelvin,
I am sorry, that I did not point out clearly, that I was refering to
the USE_COORD_INDEX_ONLY topic.
In the meantime I have tested this program on another machine with a
Geforce2 graphics board and found out that I cannot reproduce the bug
there. So it seems to be a hardware issue. The machines where I can
detect the error have a Voodoo3 and a Matrox G400 board installed.
To make clear, what I am talking about, I have attached a small
screenshot of how it looks like on the machine with the G400.
Regards,
Ingo
> The new test program add both shape3d in both g1 and g2
>so there is no different which child to select. It always show
>two shape under v1.2.1, v1.3 and the next v1.3.1 beta1 release.
>
>As mention previously the transparency bug is already fixed in next release.
>Stay tuned.
>
>- Kelvin
>---------------
>Java 3D Team
>Sun Microsystems Inc.
>
>
>Ingo Brunberg wrote:
>> Hi Kelvin,
>>
>> I slightly modified the test program and finally managed to get it to
>> demonstrate the problem. I am not quite happy with this one, since it
>> uses cloneTree(), so you might think it is a cloneTree() bug, but
>> maybe it is enough to get started.
>>
>> Regards,
>> Ingo
>>
>>
>>>Hi Ingo,
>>>
>>> This first one is bug
>>>4713671 - Problem with Transparency sorting on Switch group
>>>
>>>which is fixed in next v1.3.1 beta release.
>>>I just test that this test program works fine.
>>>For the second one we need a test case to investigate.
>>>
>>>Thanks.
>>>
>>>- Kelvin
>>>----------
>>>Java 3D Team
>>>Sun Microsystems Inc.
>>>
>>>
>>>Ingo Brunberg wrote:
>>>
>>>>Hello,
>>>>
>>>>I noticed that two of the bugs I once reported against the first beta
>>>>of Java 3D 1.3 are still present in the fcs version.
>>>>
>>>>1) Use of TRANSPARENCY_SORT_GEOMETRY (a transparency sorting policy):
>>>> There are rendering artifacts with transparent objects if they are
>>>> switched off. This is demonstrated with the following test
>>>> program. This shows a triangle which, after 5 seconds, is replaced
>>>> with a translated one. You can see that the first triangle remains
>>>> visible although it should become completely invisible.
>>>>
>>>>2) Use of USE_COORD_INDEX_ONLY in IndexedTriangleArrays with per
>>>> vertex colors present:
>>>> The vertex colors are ignored during rendering, that means you just
>>>> see a white object. I tried to demonstrate this with the test
>>>> program, too, but this bug seems only to be observable in more
>>>> complex scenes or with more complex geometries.
>>>
>>
>> ----------------------------------------------------------------------
>> import javax.swing.JFrame;
>> import javax.media.j3d.*;
>> import javax.vecmath.*;
>> import com.sun.j3d.utils.universe.*;
>> import java.util.Timer;
>> import java.util.TimerTask;
>>
>> public class Test extends JFrame {
>> public Test() {
>> Canvas3D canvas = new Canvas3D(
>> SimpleUniverse.getPreferredConfiguration());
>> SimpleUniverse universe = new SimpleUniverse(canvas);
>> universe.addBranchGraph(createSceneGraph());
>> //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);
>> getContentPane().add(canvas);
>> setDefaultCloseOperation(EXIT_ON_CLOSE);
>> pack();
>> }
>>
>> public static void main(String[] args) {
>> Test frame = new Test();
>> frame.show();
>> }
>>
>> private BranchGroup createSceneGraph() {
>> BranchGroup branch = new BranchGroup();
>>
>> final Switch sg = new Switch(0);
>> sg.setCapability(Switch.ALLOW_SWITCH_WRITE);
>> branch.addChild(sg);
>>
>> DirectionalLight light = new DirectionalLight();
>> light.setInfluencingBounds(new BoundingSphere(new Point3d(), 1000));
>> branch.addChild(light);
>>
>> // Add a Background
>> Background background = new Background(new Color3f(1.0f, 1.0f, 1.0f));
>> background.setApplicationBounds(new BoundingSphere(new Point3d(),
>> 1000));
>> branch.addChild(background);
>>
>> Appearance app = new Appearance();
>> app.setMaterial(new Material());
>> app.setTransparencyAttributes(
>> new TransparencyAttributes(TransparencyAttributes.NICEST, 0.5f));
>>
>> Transform3D t3d1 = new Transform3D();
>> t3d1.setTranslation(new Vector3f(-1.0f, 0.0f, 0.0f));
>> Transform3D t3d2 = new Transform3D();
>> t3d2.setTranslation(new Vector3f(1.0f, 0.0f, 0.0f));
>> TransformGroup t1 = new TransformGroup(t3d1);
>> TransformGroup t2 = new TransformGroup(t3d2);
>>
>> Group g1 = new Group();
>> Group g2 = new Group();
>>
>> t1.addChild(new Shape3D(createTriangleArray(), app));
>> t2.addChild(new Shape3D(createTriangleArray(), app));
>> g1.addChild(t1);
>> g1.addChild(t2);
>> g2.addChild(t1.cloneTree());
>> g2.addChild(t2.cloneTree());
>> sg.addChild(g1);
>> sg.addChild(g2);
>>
>> new Timer().schedule(new TimerTask() {
>> public void run() {
>> sg.setWhichChild(1);
>> }
>> }, 5000l);
>>
>> //branch.compile();
>> return branch;
>> }
>>
>> private IndexedTriangleArray createTriangleArray() {
>> int vertexFormat = GeometryArray.COORDINATES | GeometryArray.NORMALS
>> | GeometryArray.COLOR_3 | GeometryArray.USE_COORD_INDEX_ONLY;
>> IndexedTriangleArray geom = new IndexedTriangleArray(
>> 3, vertexFormat, 3);
>> geom.setCoordinates(0, new float[] {-1, 0, 0, 1, 0, 0, 0, 2, 0});
>> geom.setColors(0, new float[] {1, 0, 0, 0, 1, 0, 0, 0, 1});
>> geom.setNormals(0, new float[] {-0.6f, 0, 0.8f, 0.6f, 0, 0.8f, 0, 0.6f,
>> 0.8f});
>> int[] indices = new int[] {0, 1, 2};
>> geom.setCoordinateIndices(0, indices);
>> //geom.setColorIndices(0, indices);
>> //geom.setNormalIndices(0, indices);
>> //geom.setDuplicateOnCloneTree(true);
>> return geom;
>> }
>> }
begin 644 Test.png
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
)`$E%3D2N0F""
`
end
===========================================================================
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".