Terrain editieren
-
Hey,
Ich bin z.Z dabei ein Terrain Editor zu machen.Ich lade eine Hightmap und erstelle daraus ein Terrain mittels openGL
Dieses möchte ich nun verändern( d.h Höhen ändern). Das klappt auch so weit ganz gut. Ich Habe ein Rechteck auf dem Terrain und kann dieses beliebig nach oben und unten verschieben. Das sieht nur leider sehr unschön aus da Kanten entstehen.
Was ich also möchte:
Beim anheben an einer bestimmten stelle soll das Terrain an dieser Stelle um eine art Halbkugel angehoben werden.
Dazu habe ich mir folgendes auch schon angeguckt(http://www.lighthouse3d.com/opengl/terrain/index.php?circles) - was aber bei mir nicht so richtig funktioniert.Bis jetzt mache ich dies:
Ich berechne den Abstand zur Mitte des Rechtecks und addiere den Abstand zur Höhe hinzufloat abstandX = Math.abs((farbPosX -x)); float abstandY = Math.abs((farbPosY -y)); float abstand = (float) Math.sqrt(abstandX*abstandX + abstandY*abstandY)+1; terrain[x][y][1]+= 1/abstand;
Leider klappt das so natürlich nicht. Dadurch ensteht eine art Kegel und keine Halbkugel^^
Irgendwelche Ideen. Oder ist mein Ansatz schon falsch
MfG
-
Du addierst halt 1/Abstand? (Aufpassen bei 0 ;), max ist Abstand = 1)
-
Ähm joar^^
Ja darum rechne ich beim Abstand +1
-
Keine weiteren Ideen?
-
1/(Abstand/2)? 1/Abstand^2? Probier halt was aus.. ^^