Simple Lighting Question

I have a silly question. When I apply a texture to a TriMesh and add a point light source, only one side of the texture is lit up (lower left half), while the other (upper right) is dark. I'm guessing it has something to do with the normals.



Here's some code:


Vector3f[] vertexes={
            new Vector3f(0,0,0),
            new Vector3f(3,0,0),
            new Vector3f(0,2,0),
            new Vector3f(3,2,0)
        };

        Vector3f[] normals = {
                new Vector3f(0,0,1),
                new Vector3f(0,0,1),
                new Vector3f(0,0,1),
                new Vector3f(0,0,1)
        };

        // Texture Coordinates for each position

        Vector2f[] texCoords={
            new Vector2f(0,0),
            new Vector2f(1f,0),
            new Vector2f(0,1),
            new Vector2f(1f,1)
        };



        // The indexes of Vertex/Normal/Color/TexCoord sets.  Every 3 makes a triangle.
        int[] indexes={
            0,1,2,1,2,3
        };
        // Create the square
        square=new TriMesh("My Mesh", BufferUtils.createFloatBuffer(vertexes),
                                      BufferUtils.createFloatBuffer(normals),
                                      null,
                                      TexCoords.makeNew(texCoords),
                                      BufferUtils.createIntBuffer(indexes));
        square.setModelBound(new BoundingBox());
        square.updateModelBound();

URL monkeyLoc = Main.class.getClassLoader().getResource("data/monkey.jpg");
        // Get my TextureState
        TextureState ts = display.getRenderer().createTextureState();
        // Get my Texture
        Texture t=TextureManager.loadTexture(monkeyLoc,
                Texture.MinificationFilter.BilinearNearestMipMap,
                Texture.MagnificationFilter.Bilinear);
square.setRenderState(ts);
       
        square.setLocalScale(new Vector3f(100, 100, 1));
        square.setLocalTranslation(new Vector3f(0,0, -100));



Here's the code snippet of the light source I add

ColorRGBA lightcolor = new ColorRGBA(1, 1, 1, 1);
        // Let's create a point light
        PointLight pl = new PointLight();
        pl.setDiffuse(lightcolor);
        pl.setAmbient(lightcolor);
        //pl.setAttenuate(true);
        //pl.setConstant(.5f);
        pl.setEnabled(true);
        pl.setLocation(new Vector3f(0,0,-50));



Any ideas?

im not sure if this is wanted behaviour, but as far as I know, only sides that can be diectly hit on the outside, from the light (not influrenced by other objects) are lit.

This can be changed, depending on material i think.