Perlin Noise、Java、LWJGL で生成された無限の世界に取り組んでいます。しかし、私は問題を抱えています。説明するのはちょっと難しいので、ビデオを作りました: http://youtu.be/D_NUBJZ_5Kw明らかに問題は、すべての地面の間にある黒いスペースです。
私はすでにすべての値を float ではなく double にしようとしましたが、それは修正されませんでした。
ここに私が使用しているコードがあります:
float height2, height = (float)getHeight(x, y);
height2 = (float) ((getHeight(x-1, y+1) + height) / 2);
vertexhelper.addVertexColorAndTexture(x, height2, y+1, r, g, b, a, 0f, 1f);
height2 = (float) ((getHeight(x+1, y+1) + height) / 2);
vertexhelper.addVertexColorAndTexture(x+1, height2, y+1, r, g, b, a, 1f, 1f);
height2 = (float) ((getHeight(x+1, y-1) + height) / 2);
vertexhelper.addVertexColorAndTexture(x+1, height2, y, r, g, b, a, 1f, 0f);
height2 = (float) ((getHeight(x-1, y-1) + height) / 2);
vertexhelper.addVertexColorAndTexture(x, height2, y, r, g, b, a, 0f, 0f);
x->16 および y->16 のチャンクの初期化でこれをループします。vertexhelper
すべてを配列に入れるだけの私が作ったクラスです。
(ここではフロートを使用していますが、それは計算を行った後なので、問題にはなりません)