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".