Auf welchem Quadrat der Heightmap stehe ich?



  • Hey,

    ich erstelle eine Heightmap, indem ich aus einem .raw die Höheninformationen auslese und in einem zweidimensionalen Array speicher.
    float höhe = heightmap[z][x]
    Wenn das Bild 128
    128 groß ist, habe ich also auch ein Array von [128][128].
    Zum Rendern benutze ich noch einen Skalierungsfaktor von 32. Das heißt, dass meine Heightmap letztendlich 4096x4096 (128*32 x 128*32) groß ist.

    Um die Höhe der Kamera beim 'Laufen' anzupassen, benötige ich jetzt die Eckpunkte des aktuellen Qudrats, in dem ich mich befinde.
    Die x,z Positionen der Kamera sind floats, die auch von 0 bis 4096 gehen können.

    Ich hab bereits versucht, eine Schleife zu erstellen, die jeden Frame für jedes Quadrat überprüft, ob man sich darin befindet, aber das frisst viel zu viel Performance:
    Von sonst 230 fps auf 80fps.

    Wie kann ich am besten das aktuelle Qudrat bestimmen?

    Vielen Dank



  • Die x,z Positionen der Kamera sind floats, die auch von 0 bis 4096 gehen können.

    myQuad = heightmap[x/32][z/32]



  • life schrieb:

    Die x,z Positionen der Kamera sind floats, die auch von 0 bis 4096 gehen können.

    myQuad = heightmap[x/32][z/32]

    merci


Anmelden zum Antworten