Hello !
I’m actually working on the TerrainQuad
but I have some missing triangles and the question is … how it’s possible
Thanks for your help
Hello !
I’m actually working on the TerrainQuad
but I have some missing triangles and the question is … how it’s possible
Thanks for your help
I encountered such a problem when I created a heightfield dynamically and by error some values in the heigthfield (the height array) was ‘NaN’. So maybe your ‘data’ is broken somehow.
how float can be NaN ?
public FloatBuffer writeVertexArray(FloatBuffer store, Vector3f scale,
boolean center) {
if (store != null) {
if (store.remaining() < width * height * 3)
throw new BufferUnderflowException();
} else {
store = BufferUtils.createFloatBuffer(width * height * 3);
}
assert hdata.length == height * width;
Vector3f offset = new Vector3f(-getWidth() * scale.x * 0.5f, 0,
-getWidth() * scale.z * 0.5f);
if (!center)
offset.zero();
int i = 0;
for (int z = 0; z < height; z++) {
for (int x = 0; x < width; x++) {
store.put((float) x * scale.x + offset.x);
float value = (float) hdata[i++] * scale.y;
if (Float.NaN == value) {
System.out.println("NaN value occured !");
}
store.put(value);
store.put((float) z * scale.z + offset.z);
}
}
return store;
}
values are never NaN ( the class is GeoMap.java )
if(Float.isNaN(value)){
System.out.println(“NaN occured !”);
}
and effectivly NaN occured !
Nice