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".

Reply via email to