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
MB5!.1PT*&@H````-24A$4@```.@```"7"`(```"0OX`[````!&=!34$``+&/
M"_QA!0```#AT15AT4V]F='=A<F4`6%8@5F5R<VEO;B`S+C$P82`@4F5V.B`Q
M,B\R.2\Y-"`H4$Y'('!A=&-H(#$N,BG=%2Y)```,\DE$051XVNU=+9?D-A9]
MV6.@GS`@("`@8,&"@`4!`0L"%@0&!BX<6%#`P""@0$"!@`(!#0(*%@AH$-`@
MH$%`@X`"`^HG"`@LL&4_R9+MJO:'I+H7U/'1T<@][CMW;EV_)WVFM"(`2`W_
MP",`0%P``'$!`,0%0%P``'$!`,0%0%P``'$!`,0%`!`7`'$!`,0%`!`7`'$!
M`,0%`!`7`'$!`,0%`!`7`$!<`,0%`!`7`$!<`,0%`!`7`$!<!EE>\4OEN'[*
M\X'D1ERA%;C+6'M119Y_M:R(6\F+*H0@;.-G4`BAZ7K-\%]R5L15!0E2BJ@J
M+R#MY7HEK51!E..&G/D0MRJO0A,1"2)5"!!7Z$9QJ1#Y.=V,%%<K*HAJW=5*
M5I='9FWC;HWBYN=T,R'N7E[(_&Z$)BKHT277:&W[F9G3S82XJB!JOI/5NJM4
M057U]IBDY>Z6?X*X<6%?7H0F(B%(42&HOM;J89VNH[59.MTL%+?Q<$H5PCA=
M5>=B\J?+H['6XVYS=+K)$W<OWZC);H70B@I!YEK10V:Z/JW-S^FFK[BUOA()
M:G2W];CU2/73`SG=D+O-S^FF3=Q]^49==DMUCDMUJE"/:\KUG:<7`UJ;F=--
M7'$U=?JJFS=G32[6Z2[)GQ]"=$?<;5Y.-V'B'N2;R6Y%F]VJ^KI&(5K=?0B,
M:6U.3C=AXC;Z2M3WM<V(9IGNSZ]YDW:*N\W)Z:9*W$/YUN4&=0IF4@6A_0E#
MWL2=J+79.-UD%5<W26VC'X4@8FENI[NB56)YR-;IWN!N<W&Z21+W(%]9=DO6
MM='@^IH:#:Z];[Z9[BU:FX?335-Q37;+5)8LIZL#F>XA0Z=[J[O-P^FF1]Q#
M^=K6W?*\E@HBEMTVEM:>F:7DWJ&U&3C=!!57,Y75O22!Z:O)=)N$H7&ZOV0E
MNG>ZV_2=;F+$/<H7*H0@ZC($:OVK("*6*I`RU^3ZX(QPK]:F[G03(VZ3)!`Y
MB4'3(VDG#,(D#(WN4C->_?*2!VG?XVY3=[HI$?=8O@YDMZJ7W;*$H6%M.S,/
MXKY3:Y-VNDDI+G.T0C/_2GZGRWVP,U,>DQ?=&=QMRDXW&>(R=TN-?VW83$2"
M)0RF;H%?$S5.EWKU#.EB#JU-U^FFH[A=5QDQ?>VJP*BI8'3'1?/'6`]P[713
M%MVYW&VZ3C<-XA[+%U;S966WUC69:S93F1R7[)E)9[HS:FVB3C<1Q=56S9=R
M7"S[=*K#_)FNZ9B0OR8INC.[VS2=;@+$?9+/3E>9".0&=6>OR6ZMF:;_S&01
MW9]*$'-K;8I.-P'BFAW!//5?PM?9:_2UM0.LCJP=-_.K7Y_3(NT2[C9%IQL[
M<9_*EZ:VB]5\":?FJ]D_H=5@]LZ,K'=IK0:;+"*]3'<AK4W.Z4:ON'9V.UZ3
M$)C9?9*[@GQ*1G07=+>I.=VHB6O<;:,TH>Q6F;R6>MEM5T?&KPO!ZLA$2I*[
MI-:FY73C5EQ?=BO:<9/=>C)=D]UZ,MU.B=E^NBF([M+N-BVG&R]QG\IG;W;K
M[I]@])B<"EUV32R[Y>_,V'ZZ":CM"EJ;D-.-E[AB++LE;YJK`YDNV^W&ZXGE
M;U&+[DKN-AVG&REQ3_*L)F>W[O58=NNI(XO_Y(BUM#85IQLI<:=DM_[Q7G8K
M>MEMI\1D9[J_G>-\&FNZVU2<;HS$/37N=B2[[?H@!K-;U<MNG7[@^/?375EK
MDW"Z42HN]ZGA[-;;V>OQK[WLUO'$5J9[BDYT-W"W*3C=SU1D_R.<Y9D_+\4K
MN=ILR_3QUM6,;)<[\]\_?^+=B2:D!F?6:^Z^_RXNXEZOU*;46WQ^^/`!BCL.
MQJ0N>;7V8-2!\28W<)/:+MGEX^1)?^L_6YU.\3R-K=QM_$XW+N*>RG-7L66J
MMUB_+K%^76(U#-3YUZ[W0;'W9XJH[8-HKMTUV;WB>2!;N=OXG6Y<Q!5Z4K^N
M<G8*TX'Q;K<;MSK,>&+!/#';9>P<A=/=V-W&[70C\KAG>6K84]=MF9R5,:_]
M[M]T^7;C)COSK&#/9"F8?V8]OOOO]]L3=VMW&[/3C4EQQTYSZ+\_$W;-EPIW
M_':9+M&D_73/&SO=&-QMS$XW%N*>RU-;\Z7&^G7YF;V\YDOT:[[:.K+.$_?J
MR-@UF?4W_T7%X&YC=KK1*&[O-`<G#?#7=NFAFB^KCHSW!FN[CBS0&RQ_WTQT
M(W*WL3K=*#SNLSSQO+:][G+6F;);LM</SC3WVGVWC=.-RMW&Z72C4%S'IXK;
M^W6#[\SLF3?OI_O[T_I/(S9W&Z?3W5YQS^5)\&_]70IF9PB]A*&=>6MNX+^7
MG4NT,^5_UA;=ZZ=KA%K;?G[X/`K1W5YQA9[6K^O4=@V<^T#^\;:FK)\*>^YE
M^"V?5Q7=2-UM?$YW8^(^RR=KC]N!?EWS?DN%SGWPG0'AUI'%OY]N3$E"S'6Z
M6RONA-X$%7"NH>S6D_42!7N#==`3DUF_6DMT8W:WL3G=+3WN<_EDY0.^W&!Z
MPN"926S<R2+X"M:_(G_"(+_]884'$KF[C<KI;JJXVE_SU4]DB:>M@<Y>,5CS
M);3GC%]_'9GV_`SRC\5%-P%W&Y/3W4QQ7^23)T]MST$W&LF8-U)->VMV.ZK<
MSKUV"XMNM-EMG)GN9HH;VE?&>Z+.#?VZSCA1<+]R'<AT`S]5]<=QN:>1BKN-
MQ^ENH[C/Y1//;MN\MKT.58?=G=V&LN$I*6^7Z7ZSE.@FY&XC<;K;**Z3W:I>
MGNKOU]4C_;K^LWQU(-/M5_KJL4SW91'13<S=QN%T-U#<%WETU,ZMINW5W8;>
M;UDK^&:.*O?(^SERQW??_#@_<5-SMS$XW2T4M^=3[^[7'<UN_?6[^F9/W(Y7
M<XMNBNXV!J>[MN*^E,?1[-:3&]R8,/AGWI+=#F6Z_YY3=!-UMYL[W=45=RR[
M]??KVMFMLG=E',AN_>/4RW3U+9GNG[.);L+N=FNGNZKBOLKCE.S64;M6(ZV9
M`WKIZ"Z;>6M=;S#3G4ETDW:WVSK=515WW*?JL'\=\,2#/M5[AKIGOT>B&S+=
M/P_O?QJIN]MMG>YZBOM:'FE"=LOVNAOI[+T[NYV:,(0R75**A/SZO:*;@;O=
MT.FNJ+C:WZ\K`C5?X^<^!)1[GOUT1\](>WV7Z&;B;K=SNBLI[IL\&)_:)ORD
MNET^R:A=T[O;?H<S&DQ$Q$Z`(E913FPOCVY](FK?2@BV?K,.OY>S9NA>?+P@
MTK3[^G_W$S<7=[N5TUU)<9T$8+9^7?*<V>OO#=;AGF&RUNSN1?Y[M3]#=:_H
MYN1NMW*Z:RCN:WD(YJECV>WH7HL3^W6GS!P?[R4,\E_WB&YF[G83I[N&XO9/
M<W#?2]FY`8WU)O"9[KNQ]^^G>],9:7_=++H9NMLMG.[BBEN[V^X,QZXFAEB=
M#75U,YJ-&Z.AFEZQ;ISM6D>JOR:_5R%(>^Y5][?Q-8F&QKM[F=ZX>LW=/S_>
M1MP<W>WZ3G=QQ>VGH316.<#Z=2E4D^#J*-&4[%8,:_QHINM+>:N_]M.?1J[N
M=GVGNZSBOI6'*2EI*+ME=8]3=V5\[YX,$RMW[5HV^=54IYNQNUW9Z2ZLN-K3
M<3#0K^MDMQY]);JC7W?@W(=YSDA[VT]C;=;N=EVGNZ#B7N3>^]Z_JSUPJA'N
MZ]>]JSHL5"_1_VG;.</U9;NOQIUN]NYV3:>[H.*J0!JJ[)JLF_MU)YS[(.S:
M+M5+?YW$E[VSH)$Z,OOOU>VG.R:ZC^!NUW2Z2RGN6[D/JMU`->U@=AO2PE'E
MGC1S6G8;TGY5D/SRXZ!/>`AWNYK374IQ0]GM0"([<5\9$=YK,;1?>3^[O;OG
M8NB,M+_W<+>K.=U%%/<BJ^E=7Z&:+\\*PUG$Q'[=@7P@G!N,)@SUO79?[N!N
MUW&ZBR@NJS$(GN80W,NVIZQ3LXAW[J=+8UG$X,RF3O?O"NYV':<[O^)>RKU5
MVV779(5JOHS+%.Q[E55'QKY7L7%G37ZO<!T9V>L'QXFL^C)?+5O_7O*+CW"W
M*SC=!117NS5?1&Y=%76LI="Y#R)0\R7LFB_JC=]V[D/X/`BFZ,%:MGX=F?Q4
MP=VNX'1G5MRKK#P]M!/Z=4>SVSOW#IN0W0YENH/9;2@/V7VQ@[M=VNG.K+C<
MIY+7(^IP[0$-]9--?X\UZHD7/R/MDX2[7=KISJFXE[(2>JCFJU][Y:FWTJ8F
MZZZ:KWX=&=M#R7\O;\W7E%JV@3HR^?D.[G91ISNGX@J^2Y?V[?!ESM<5@=,<
MG-,9V'<C>WSL-`=KIS"MAL_R=<=-VM4_X]=S;C!UU_QGD-<*[G91IQO16;X`
ML(WB`@"("P`@+@#B`@"("P`@+@#B`@"("P`@+@"`N`"("P`@+@"`N`"("P`@
M+@"`N`"("P`@+@"`N```X@(@+@"`N```X@(@+@"`N```X@(@+@"`N```X@(`
MB`N`N```X@(`B`MDC?\#C(@?GZ3_,BL````'=$E-10?2#`8+)P\UEN5,````
)`$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".

Reply via email to