0

そこで、OBJ ファイルの解析に関するブログを見ましたが、実際に私の目を引いたのは、それらが解析しているオブジェクトでした (この質問は OBJ ファイルの解析に関するものではありません)。

ここに画像の説明を入力

メッシュが 3D ノイズ アルゴリズム (おそらくシンプレックス ノイズ) を使用して作成されたことは知っていますが、知りたいのは、LWJGL と同様のライン エフェクトを作成する方法です。

私はすでに 3D シンプレックス ノイズ アルゴリズムを持っています。また、機能すると思っていたコードもいくつかありますが、実際にはまったく同じことはしません。

メッシュについて私が気づいたパターンは、ノイズ密度が最も高い外側から始まる線の列があることです。これらの線は、特定のスポットのノイズ密度に基づいて進化するので、私がやろうとしたのは、それらの線を生成して進化させるアルゴリズムを作成することでしたが、うまくいきませんでした.

SimplexNoise noise = new SimplexNoise(23453) //Variable is the seed
worldList = glGenLists(1);
glNewList(worldList, GL_COMPILE); //Inefficient but gets the job done
    float prevx = 0.0f;
    float prevy = 0.0f;
    float prevz = 0.0f;
    for(int x=0;x<256;x++){
        for(int y=0;y<256;y++){
            for(int z=0;z<256;z++){
                float xf = x/100;
                float yf = y/100;
                float zf = z/100;
                density = noise.simplex(3,xf,yf,zf); //octaves,x,y,z
                if(density>3){ //filter out some results
                    drawLine(prevx,prevy,prevz,x+1,y*density,z*density);
                    drawLine(prevx,prevy,prevz,x*density,y+1,z*density);
                    drawLine(prevx,prevy,prevz,x*density,y*density,z+1);
                }
            }
        }
    }
glEndList();

これが同じ結果に近いものを生成しないことを理解するのは難しくありません。同じメッシュ形状または類似のものにアプローチする方法または正確に作成する方法がわからないので、誰か助けてもらえますか?

4

1 に答える 1