Mesh Terrain -> Heightmap

Blitz3D Forums/Blitz3D Programming/Mesh Terrain -> Heightmap

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

assuming your mesh is Mesh_Width verts wide & deep this should work (greyscale ,height =0 to 255 or use all RGB components to allow a much greater range )...I haven't tested this although it is similar to the code I use in my terrain editor

Function BuildHeightMap(mesh)
	surface = GetSurface ( mesh, 1 )
	min=0:max=0
 	For index=0 To CountVertices ( surface )-1
		If VertexY# ( surface,index )< min Then min = index
		If VertexY# ( surface,index )> max Then max = index
	Next
	factor = (VertexY# ( surface,max)-VertexY# ( surface,min))/256		
	hm = CreateImage(Mesh_Width,Mesh_Width)
	SetBuffer ImageBuffer( hm )	
	For index=0 To CountVertices ( surface )-1
		Color VertexY# ( surface,index )*factor,VertexY# ( surface,index )*factor,VertexY# ( surface,index )*factor
		Plot index Mod  Mesh_Width,index/ Mesh_Width
	Next
	Return hm
End Function