Problem with textures on costum mesh

I’m trying to create triangles with following function.


void setupMat(){

redMat = new Material(assetManager, “Common/MatDefs/Misc/SolidColor.j3md”);

blueMat = assetManager.loadMaterial(“Textures/Terrain/Pond/Pond.j3m”);

redMat.setColor(“m_Color”, ColorRGBA.Red);


public Geometry createTri(float[] arr, int c) {

Mesh m = new Mesh();


Vector2f[] texCoord = new Vector2f[3];

texCoord[0] = new Vector2f(0, 0);

texCoord[1] = new Vector2f(0, 1);

texCoord[2] = new Vector2f(1, 1);

int[] indexes = {2, 0, 1, 1, 0, 2};

m.setBuffer(Type.Position, 3, BufferUtils.createFloatBuffer(arr));

m.setBuffer(Type.TexCoord, 2, BufferUtils.createFloatBuffer(texCoord));

m.setBuffer(Type.Index, 1, BufferUtils.createIntBuffer(indexes));



Geometry geom = new Geometry(“Triangle”, m);

if (c == 0) {


} else {



return geom;



It work’s well with c!=0 aka solid color. But for lightning texture the triangles only shows in special cases like when your close and almost allways only one at a time. I’ve both a point light which follows the camera and a directional light.

Anyone have any idea?

You’re missing a normal buffer on the mesh

Thanks. That led me to this thread which explains how normals and textcoords are used by the engine. How to set texture coordinate indices

Edit: Fixed spelling