Hi,

THis is caused clearly by the ordering of the points
on your plane when compared to the ordering of the
texture coordinates of the plane.

If you take a look you are ordering the plane
(QuadArray) points like this in a clockwise manner.

 _
| |

Whereas  the texture coordinates are mapped on to the
plane like this in an anticlockwise manner.

| |
 -

If you do this on an x-y plane your picture will come
hanging upside down makeing a full 180 degree rotation
about the +z axis. Since your plane is made parallel
to the x-z plane, the picture is making a full 180
degree rotation about the +y axis and coming below the
ground.

Anand Pillai

--- "Yazel, David J." <[EMAIL PROTECTED]> wrote:
> This is mostly likely being caused by the winding of
> the points on your
> terrain, coupled with a culling of backfacing
> polygons.  Try setting the
> rendering attributes of your terrain to not cull
> backfacing polygons.  If
> that works then you will need to fix the winding of
> your data points.
>
> David Yazel
> Cosm Development Team
> http://www.cosm-game.com
>
>
>
> -----Original Message-----
> From: Fredrik Andersson
> [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, September 25, 2001 2:41 AM
> To: [EMAIL PROTECTED]
> Subject: [JAVA3D] My Shape3D appears upside down??
>
>
> 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".
>
>
===========================================================================
> 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".


__________________________________________________
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger. 
http://im.yahoo.com

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