# Heightmap -> Landscape



## Rock45 (22. Mrz 2014)

Hey ho, ich brauch mal Hilfe (wie alle anderen auch  )

Ich hab in den letzten Tagen dran gesessen verschiedene Algorithmen umzusetzen (value noice, perlin noice, furier, diamond square etc.) um Höhenkarten zu generieren wie hier.






Q: Wikipedia

Die Karten liegen wahlweise als bitmap bzw. 2d array vor. 
Jetzt möchte ich aus dem eben gezeigten Bild eine 3D Landschaft bekommen, as shown...




Q: Wikipedia

Ich habe schon gesehen, dass es Software wie Blender 3D gibt, die ein Bild übernimmt und daraus so eine Karte bastelt. Das Selbe mit Unity und anderen Engines. 

Persönlich wäre mir eine lib wie LWJGL am liebsten bzw. auch eine Grafik API wie JMonkey, die ich direkt in den Code integrieren kann. 

Gibt es eine API mit welcher die Einarbeitungszeit vorzugsweise gering ausfällt, oder muss ein fauler Sack wie ich auf eine Software zurückgreifen (wie oben genanntes Blender etc.)?

Letztlich war meine Intension nur mit den Algos zu arbeiten, weshalb ich das noch zusätzlich gerne machen würde bis in einigen Tagen mein Urlaub aufgebraucht ist.


----------



## eMmiE (23. Mrz 2014)

Kann man sich das nicht auch schnell selbst schreiben (ich hab keine Ahnung / so was noch nie gemacht)?
Du iterierst durch das Bild und ersetzt den "Wert der Dunkelheit" (Differenz der Helligkeit zum Normalwert) durch einen eindeutigen z-Wert, den du mit einem Faktor versehen selbst festlegen kannst.
Dann machst du daraus ne riesige Liste mit Polygonen/Dreiecken...

Ist zwar nicht ganz so permormant, wie auf der GraKa, aber letztendlich das Prinzip, oder?

Gruß eMmiE


----------



## Hestalon (23. Mrz 2014)

Kannst das auch auf der Graka machen, Stichwort Vertex-Shader.
Wie eMmiE sagte die Grauwerte als Höhenwert an der Vertex-Shader geben, sowie eine ebene Fläche mit sovielen Vertices wie Höhenwerten. Und im letzten Schritt lediglich z.b. die Y-Koordinate durch den Höhenwert anpassen.

Das einzige was etwas fummelei sein dürfte ist die Vertices anlegen, Trianglestrip oder ähnliches.


----------



## Rock45 (23. Mrz 2014)

Hmm okay. Bin grad dabei und hau das mal rein. Ich schreib das Ergebnis dann mal hier her. 


Thx.


----------

