Hello ,

We have created a single QuadArray and rendered it with sphere image as a
texture so that each quadrant is textured with sphere image.  When we are
keeping transparency attribute to NONE there is no problem.  But when we are
using any other Transparency Attribute such as BLENDED OR NICEST OR FASTEST
etc. the last quadrant in the quad array is always displayed on the top even
during the rotation.  We have only one Shape3D object which has QuadArray as
its Geometry.  Is it  a bug in java3d are there any other ways to get
arround this problem.

Below I am attaching few lines of code for the reference.

Thanks
Ravi

/*****************************************/


package java3d;

import java.applet.Applet;
import java.awt.event.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.image.TextureLoader;
import java3dexamples.*;

public class Test extends Object {

   private Shape3D shape3D;

   private static final float[] verts = {

   -2.0f, -2.0f, -1.0f,    -2.0f,  2.0f, -1.0f,
      2.0f,  2.0f, -1.0f,     2.0f, -2.0f, -1.0f,

       1.0f, -1.0f,  -2.0f,     1.0f,  1.0f,  -2.0f,
     -1.0f,  1.0f,  -2.0f,    -1.0f, -1.0f,  -2.0f,

     -1.50f, -1.50f, 0.0f,    -1.50f,  1.50f, 0.0f,
      1.50f,  1.50f, 0.0f,     1.50f, -1.50f, 0.0f,
   };

private static final float[] textCoords = {

      1.0f,  0.0f,            1.0f,  1.0f,
      0.0f,  1.0f,            0.0f,  0.0f,

      1.0f,  0.0f,            1.0f,  1.0f,
      0.0f,  1.0f,            0.0f,  0.0f,


      1.0f,  0.0f,            1.0f,  1.0f,
      0.0f,  1.0f,            0.0f,  0.0f,
   };


   public Test (Appearance appearance) {

      QuadArray quadArray = new QuadArray(12, QuadArray.COORDINATES |
QuadArray.TEXTURE_COORDINATE_2 );

    Appearance appear = new Appearance();

    String filename = "C:\\Documents and
Settings\\1107\\jbproject\\src\\java3d\\sphere.gif";

      TextureLoader loader = new TextureLoader(filename, null);
      ImageComponent2D image = loader.getImage();


      Texture2D texture = new Texture2D(Texture.BASE_LEVEL, Texture.RGBA,
                                        image.getWidth(),
image.getHeight());
      texture.setImage(0, image);

      texture.setBoundaryModeS(texture.WRAP);
      texture.setBoundaryModeT(texture.WRAP);


     appear.setTexture(texture);

      TextureAttributes ta = new TextureAttributes();
      ta.setTextureMode(ta.REPLACE );
      ta.setTextureBlendColor(1.0f, 1.0f, 1.0f, 1.0f);

      appear.setTextureAttributes(ta);

    appear.setTransparencyAttributes(
    new TransparencyAttributes(TransparencyAttributes.BLENDED, 0.1f));


      quadArray.setCoordinates(0, verts);
      quadArray.setTextureCoordinates(0, textCoords);

        PolygonAttributes pa = new PolygonAttributes();
        pa.setPolygonMode(pa.POLYGON_FILL);
        pa.setCullFace(pa.CULL_NONE);
        appear.setPolygonAttributes(pa);

 shape3D = new Shape3D(quadArray, appear);

   }

   public Shape3D getChild() {
      return shape3D;
   }
}

===========================================================================
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