Title: RE: [JAVA3D] Transparency and Ordered Groups

Kelvin,

I am confused by your suggestions of using full transparency sorting and using DecalGroup nodes:

- I was under the impression that full transparency sorting (as provided by Java 3D 1.3) does not work properly under OrderedGroup nodes, just as basic transparency sorting doesn't work.  Can you confirm?

- How would using DecalGroup help?  It is a subclass of OrderedGroup, so it looks like it would exhibit the same problem we are already having.

Thanks for any clarification.

- Mauricio

-----Original Message-----
From: Kelvin Chung [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 25, 2002 2:53 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: [JAVA3D] Transparency and Ordered Groups

You can try two things
(1) DecalGroup
(2) Turn on View setTransparencySortingPolicy for full scene
    transparency depth sorting provided in v1.3 beta1.
   
Thanks.

- Kelvin
--------------
Java 3D Team
Sun Microsystems Inc.
   
   
>Delivered-To: [EMAIL PROTECTED]
>MIME-Version: 1.0
>Date: Fri, 25 Jan 2002 12:29:44 -0500
>From: Mauricio Vives <[EMAIL PROTECTED]>
>Subject: [JAVA3D] Transparency and Ordered Groups
>To: [EMAIL PROTECTED]
>
>Kelvin and other interested readers,
>
>This message is in regards to Kelvin's response on Wednesday to Yuri about a
>problem we are having using basic transparency sorting and OrderedGroup
>nodes.  By "basic" transparency sorting, I mean the default behavior of
>rendering transparent objects after opaque objects, a feature available even
>before Java 3D 1.3.  You mentioned that any nodes under an OrderedGroup node
>will not be sorted; in effect, they will be rendered at random.
>
>Let me explain in greater detail what we are trying to do.  We have a set of
>objects (BranchGroup1) that can be opaque and/or transparent.  In addition,
>we have another set of objects (BranchGroup2) that we want to appear "on
>top" of all the other geometry.  However, both BranchGroup1 and BranchGroup2
>can occupy the same 3D space.  In order to achieve the desired effect, we
>need to do the following:
>
>1) Render BranchGroup1, with opaque objects first, then transparent objects
>with the depth buffer locked.
>(this is basic transparency sorting, which Java 3D provides)
>
>2) Render BranchGroup2, but with depth testing disabled.
>(this will make BranchGroup2 appear visible "through" any geometry in
>BranchGroup1, even if they occupy the same space)
>
>Thus, we need to use an OrderedGroup node to force BranchGroup1 to be
>rendered before BranchGroup2, but we also need basic transparency sorting
>for the children of BranchGroup1.  However, as you mentioned in your
>response, no automatic sorting would be performed under BranchGroup1 because
>it resides under an OrderedGroup node.
>
>You also mentioned that we could simply perform our own sorting to separate
>transparent and opaque objects.  Though this would be difficult, it can be
>done.  However, if I understand you correctly, we would still not be able to
>take advantage of the "full" transparency sorting feature of Java 3D 1.3,
>and I don't think it would be reasonable for us to implement that feature
>ourselves (particularly since the Java 3D team has already done the work).
>
>I see no reason why Java 3D would not support the ability to do transparency
>sorting of the *grandchildren* of OrderedGroup nodes (or any other kind of
>sorting).  Is there a reason why Java 3D can't do this?  I would suggest
>this as a future Java 3D enhancement, if it is possible.
>
>Note that I agree that if there are transparent objects spread around the
>scene graph (under various OrderedGroup nodes), then even the enhancement I
>am suggesting would not lead to the proper transparency effect.  However, as
>I explained above, with our application it would not matter.
>
>Kelvin, thanks for your help so far, and for any additional information you
>can give us.
>
>- Mauricio
>

Reply via email to