Hi Yuri, In v1.3 beta1 you can also try setting
View setTransparencySortingPolicy to TRANSPARENCY_SORT_GEOMETRY in some case instead of using OrderedGroup for transparent object. Thanks. - Kelvin ------------- Java 3D Team Sun Microsystems Inc. >Delivered-To: [EMAIL PROTECTED] >MIME-Version: 1.0 >Date: Wed, 23 Jan 2002 19:19:31 -0800 >From: Kelvin Chung <[EMAIL PROTECTED]> >Subject: Re: [JAVA3D] Transparency problem in 1.2.1 >Comments: To: [EMAIL PROTECTED] >To: [EMAIL PROTECTED] > >Hi Yuri, > > After further investigation I've closed this bug. >The original AppearanceTest has the scenegraph structure > > BG > /...\ > O1, ...O8, T1 > >contains 9 Shape3D O1, ...O8, T1 >where Oi are opaque objects and T1 is transparency object. >By default Java3D will render the opaque object first >follow by transparency object with so it appears >correct. > >In the modified AppearanceTest the user add an OrderedGroup above >the BranchGroup as follows: > > OG > | > BG > /...\ > T1, ...T8, O1 > >The specification did not mention very clear but >OrderedGroup will override the rendering order of all child and >grand children under it. So the shape under it will not render >in two pass as expected: first opaque follow by transparent >object with depth buffer write disable. > >Thus for the following scene graph > > OG > / \ > / \ > BG1 BG2 > / | \ \ / | \ \ > T1 O1 T2 O2 T3 O3 T4 O4 > >where Ti are transparency object and Oi are opaque object. >Java3D will NOT render in order of O1, O2, T1, T2, O3, O4, T3, T4. >Instead the rendering order within the children of BG1 >can be random since they are not direct children of OG >and it is a grandchildren of OG. >Similarly for the rendering order within the children of BG2. >One thing Java3D gaurantee is that all the child under BG1 >will render BEFORE BG2. > >To get the effect of what you want, it can be workaround >by using another OrderedGroup, group together >the opaque and transparent object explicitly, then set >the RenderingAttributes depthBufferWriteEnable to false >for all transparency Shape3D appearance as follows: > > > OG > / \ > / \ > OG1 OG2 > / \ / \ > BG1 BG2 BG3 BG4 > / \ / \ / \ / \ > O1 O2 T1 T2 O3 O4 T3 T4 > | | | | > R R R R > >Where BG1, BG3 contains all opaque objects >and BG2, BG4 contains all transparency objects. >R is RenderingAttributes with depthBufferWrite disable. > >Attach is the modified AppearanceTest to show how >it works. > > >Thanks. > >- Kelvin >------------------ >Java 3D Team >Sun Microsystems Inc. > > >>Delivered-To: [EMAIL PROTECTED] >>MIME-Version: 1.0 >>Content-MD5: qlL+zFoj8sN2ZQQc28otCQ== >>Date: Tue, 22 Jan 2002 11:45:48 -0800 >>From: Kelvin Chung <[EMAIL PROTECTED]> >>Subject: Re: [JAVA3D] Transparency problem in 1.2.1 >>Comments: To: [EMAIL PROTECTED] >>To: [EMAIL PROTECTED] >> >>Hi Yuri, >> >> We can reproduce the bug and Bug 4626671 is filed >>for investigation. >> >>Thanks for your bug report. >> >>- Kelvin >>--------------- >>Java 3D Team >>Sun Microsystems Inc. >> >>>From: Yuri Nikishkov <[EMAIL PROTECTED]> >>>To: "'Kelvin Chung'" <[EMAIL PROTECTED]> >>>Cc: [EMAIL PROTECTED] >>>Subject: RE: [JAVA3D] Transparency problem in 1.2.1 >>>Date: Mon, 21 Jan 2002 11:13:10 -0500 >>>MIME-Version: 1.0 >>> >>>Kelvin, >>> >>>I have investigated the problem more and have been able to localize it. I >>>have an OrderedGroup object on top of my scene graph (not on the level of >>>transparent objects) and that seems to be the reason for transparency >>>problems. If I replace an OrderedGroup instance with a regular Group then >>>everything works fine. Moreover, I have been able to reproduce it on the >>>demo example. Please see attached AppearanceTest.java from the Appearance >>>demo modified to demonstrate the problem. Orbit the scene and you can see >>>the transparent tetrahedron obstructing the red unlit tetrahedron (and/or >>>possibly others). >>> >>>Java3D v1.2.1_03 has exactly the same problem. v1.3beta1 still has the >>>problem but the rendering order seems to be different and so are the >>>obstructed objects (did not try to switch on the transparency sorting). >>> >>>Also I would appreciate very much if you can suggest some work-around for >>>this problem. I cannot get rid of OrderedGroup since I need it to enforce >>>rendering order to make some objects seen-through. And I need to be able to >>>correctly show the transparent shapes at least in one branch of the >>>OrderedGroup. Presently I can do one or the other but not both together. >>> >>>Thanks, >>>Yuri. >> >>=========================================================================== >>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".
