Hello!

Sorry! I forgot to set a subject, so I send this again.

I'm tying to create a ground_surface, but it allways apper upside down
and I can't get it right. It appears with the image-surface facing down
so I can't see it. I have to rotate my KeyNavigatorBehavior upside down
so I look at the ground like it was the sky, hope you understand what I
mean.

I use a Shape3D which I add a texture on like this:

1) Apperance-class (I do not add the import statements here)
public class TextureAppearance extends Appearance
{
        public TextureAppearance(String imageName, Applet applet)
        {
                TextureLoader textureLoader = new
TextureLoader(imageName, applet);
                ImageComponent2D imageComponent2D =
textureLoader.getImage();
                Texture2D texture2D = new
Texture2D(Texture.BASE_LEVEL,Texture.RGBA,imageComponent2D.getWidth(),im
ageComponent2D.getHeight());
                texture2D.setImage(0, imageComponent2D);
                setTexture(texture2D);
        }
}

2) The Shape3D class  (I do not add the import statements here)
 public class TextureGround extends Shape3D
 {
        float x = 2;
        float y = 4;
        float z = 2;

        float posX = 0;
        float posY = 0;
        float posZ = 0;

        int type = 0;

        public TextureGround(float x, float y, float z, String
imageName, Applet applet, int type)
        {
                this.x = x;
                this.y = y;
                this.z = z;

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

                Point3f point3f = new Point3f(posX,  posY, posZ);
                quadArray.setCoordinate(0, point3f);

                point3f.set(posX, posY, posZ - z);
                quadArray.setCoordinate(1, point3f);

                point3f.set(posX + x, posY,  posZ - z);
                quadArray.setCoordinate(2, point3f);

                point3f.set(posX + x,  posY,  posZ);
                quadArray.setCoordinate(3, point3f);

                Point2f point2f = new Point2f(0.0f,  1.0f);
                quadArray.setTextureCoordinate(0, point2f);

                point2f.set(0.0f, 0.0f);
                quadArray.setTextureCoordinate(1, point2f);

                point2f.set(1.0f, 0.0f);
                quadArray.setTextureCoordinate(2, point2f);

                point2f.set(1.0f, 1.0f);
                quadArray.setTextureCoordinate(3, point2f);

                setAppearance(new TextureAppearance(imageName, applet));
                setGeometry(quadArray);
        }
}

3) I create this with:
new TextureGround(25.6f, 0.0f, 25.6f, "images/dead_end_s.gif",
applet,Constants.DEAD_END_S);

The Constants.DEAD_END_S is not in use yet so you can ignore that!


....I can't understand why it always get's uppdown, I use to navigate
around this ground with a KeyNavigatorBehavior with this inside a
Applet:
      TransformGroup transformGroup1
=simpleUniverse.getViewingPlatform().getViewPlatformTransform();
      KeyNavigatorBehavior keyNavigatorBehavior =
newKeyNavigatorBehavior(transformGroup1);
      keyNavigatorBehavior.setSchedulingBounds(newBoundingSphere(new
Point3d(0.0f, 0.0f, -8.0f),10000.0));

      branchGroup.addChild(keyNavigatorBehavior);


So if someone understand why it won't appare with the texture in the
right way, please let me know.

Best Regards

Fredrik Andersson

Ps  A good deed a day brings good karma to the world in these days.

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