Now i tried to work it out by trying. I created another project, and started coding
Something weird happens:
Troj.java has 2 significant line groups,
Triangle3D troj1 = new Triangle3D( new Vertex3D[] {new Vertex3D(1, 2, 0), new Vertex3D(1,1, 0),new Vertex3D(2, 1, 0)},
new Vertex3D[] {new Vertex3D(1, 1, 0), new Vertex3D(1, 0, 0),new Vertex3D(0, 1, 0)});
Triangle3D troj2 = new Triangle3D( new Vertex3D[] {new Vertex3D(1, 2, 0), new Vertex3D(2,1, 0),new Vertex3D(2, 2, 0)},
new Vertex3D[] {new Vertex3D(0, 0, 0), new Vertex3D(0, 1, 0),new Vertex3D(1, 0, 0)});
Triangle3D troj3 = new Triangle3D( new Vertex3D[] {new Vertex3D(3, 2, 0), new Vertex3D(4,1, 0),new Vertex3D(4, 2, 0)},
new Vertex3D[] {new Vertex3D(1, 0, 0), new Vertex3D(1, 1, 0),new Vertex3D(0, 1, 0)});
try {
troj1.tex = TextureLoader.getTexture("PNG", Troj.class.getResourceAsStream("/wood.png"));
troj2.tex = TextureLoader.getTexture("PNG", Troj.class.getResourceAsStream("/wood.png"));
//troj3.tex = TextureLoader.getTexture("PNG", Troj.class.getResourceAsStream("/wood.png"));
System.out.println(troj1.tex.getImageHeight() + "x" + troj1.tex.getImageWidth());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
troj1.render();
//troj2.render();
//troj3.render();
So the fun begins.
When I comment out troj2.render();, the second triangle doesn't render. That's ok. The first renders ok with the texture in a form that can be distinguished
But when i comment out troj2.tex = [...], the first (!) triangle [ named troj1 in code ] doesn't have any texture. it's white!
I have no idea why this happens. It shouldn't happen. troj1 and troj2 are two different variables.
Full code
I'm new to LWJGL and game programming, please help!