Texture Alpha

Trying to figure out some facts on using texture alpha
with Java 3D.

The problem I’m working on is pretty much similar to
mimicking a tree using an RGBA texture to represent the tree
on an opaque white quad. My texture’s alpha is set to zero
where there is no tree structure and to 1 otherwise, as usual.
I’m setting a RenderingAttributes on my Appearance with
an alphaTestValue of 0.f and alphaTestFunction GREATER.
My texture function is set to REPLACE so that the effective
color and alpha are those of the texture.

With this arrangement, I’m able to show just the tree part
of the texture, and the empty space of the texture as well as
the background quad corresponding to that empty space get
completely eliminated in the rendering. IOW, I’ve managed to cut
a hole thru’ the background quad in the empty space of the
texture ( i.e. with alpha = 0.f ).

What I can’t figure out from the docs is whether or not
my alpha textured geometry would be rendered during the
transparent pass. Note that I do not have a TransparencyAttributes
set on my Appearance - just the alpha test function alone gets me
the correct rendering. For the rendering that I’m trying to achieve,
it appears to me I do not need an alpha blending with the rest of
the scene and, hence, really do not need to get my geometry
included in the sorted transparency list of the View.
Am I correct in my premise ?

The questions I have are:

  1. What criterion(ia) does Java 3D use to classify a geometry
    as one that would be rendered during the transparent rendering
    pass, i.e., that which would put it in the sortable transparency
    list of View ? Just an RGBA texture on the Appearance ? Or, is a
    TransparencyAttributes also need to be set necessarily ?

  2. If I do set a TransparencyAttributes on my Appearance,
    and dynamically modify the transparencyMode to BLENDED and
    NONE, then would the geometry be included and deleted from
    the View’s transparency list automatically, respectively ?

  3. A TransparencyAttributes set on the Appearance with a
    transparencyValue of 0.f would be considered by Java3D as
    opaque or transparent for its rendering passes ?

The actual problem that I’m working on is to use dynamic alpha
masks to achieve an animated pulse effect on a textured surface.

TIA for any ideas/comments.