Heightmap aus Mesh?

Übersicht Ressourcen Andere Programme oder Tools

Neue Antwort erstellen

Ironstorm

Erstklassiger Contest-Veranstalter

Betreff: Heightmap aus Mesh?

BeitragFr, Apr 06, 2007 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ all!

Derzeit bin ich auf der Suche nach einem Heightmap Creator der aus Meshterrains Heightmaps erzeugt.
Jaja, ich weiß das ich selbst einen schreiben könnte aber ich möchte dennoch fragen ob jemand was hat, oder kennt.
Ich fand nur mesh2hmap, das aber ist für Linux und beim kompilieren spinnt mein Ubuntu (Fragt nicht).

Wenn jemand was kennt würde ich mich freuen wenn dieser mir helfen würde.

THX im vorraus.

MfG,
Ironstorm
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
 

Todeskop

BeitragSa, Apr 07, 2007 7:55
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst ja einfach dein mesh-terrain nehmen zur y-achse einen schwarzweißen Farbverlauf zeichenen die kamera so über dem Terrain stellen das alles sichtbar ist, aflösung einstellen und rendern,bei mir hat das geklappt.
MFG Todeskop

Blitzcoder

Newsposter

BeitragSa, Apr 07, 2007 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir gehts:

https://www.blitzforum.de/upload/file.php?id=1392

Einfach das Mesh(3ds oder b3d) draufziehen. Er legt dann eine bmp an.

Code: [AUSKLAPPEN]
Graphics3D 800,600,0,2

Type TVertex
   Field x,y,z
End Type


output$="mesh.bmp"
mesh=LoadMesh("mesh.3ds")










If Not mesh Then RuntimeError "MeshLoading failed"





surface=GetSurface(mesh,1)
vertexcount=CountVertices(surface)
Local x,y,z
For i=0 To vertexcount-1
   Local vertex.TVertex = New TVertex
   vertex\x=VertexX#(surface,i)
   vertex\y=VertexY#(surface,i)
   vertex\z=VertexZ#(surface,i)
   x=vertex\x
   y=vertex\y
   z=vertex\z
Next




Global varx,varz
For vertex.Tvertex = Each TVertex
   If vertex <> Last Tvertex Then
   If varx=0 Then varx=Abs(vertex\x-x)
   If varz=0 Then varz=Abs(vertex\z-z)
   If Abs(vertex\x-x)<varx Then varx=Abs(vertex\x-x)
   If Abs(vertex\z-z)<varz Then varz=Abs(vertex\z-z)
   EndIf
Next


Local maxheight,minheight
Local countx,countz
For vertex.TVertex = Each TVertex
   x=vertex\x / varx
   z=vertex\z / varx
   If x>countx Then countx=x
   If z>countz Then countz=z
   vertex\x=x
   vertex\z=z
   If vertex\y < minheight Then minheight = vertex\y
   If vertex\y > maxheight Then maxheight = vertex\y
Next



image = CreateImage(countx,countz)
SetBuffer ImageBuffer(image)

For vertex.TVertex = Each TVertex
   col=(vertex\y-minheight)/(Abs(minheight-maxheight)/255.0)
   Color col,col,col
   Plot vertex\x+(countx/2),vertex\z+(countz/2)
Next

SaveImage(image,output)

SetBuffer FrontBuffer()
DrawImage image,0,0
Color 255,255,255
Text 400,400,"Operation finished. Press Any KEy to exit"
WaitKey
End
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

Neue Antwort erstellen


Übersicht Ressourcen Andere Programme oder Tools

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group