test this please fps and basic veiws welcome

Blitz3D Forums/Blitz3D Programming/test this please fps and basic veiws welcome

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.

;note another possiblity of terrain editor
;duckstab

;left mouse sellect triangle
;q vert up
;a vert down
;arrow keys rotate map
;page up and down zoom
;create a texture with a black background and a white circle outline for target (30 by 30)
;create a texture with a green background with a 1 pixle border for vertile (30 by 30) 
Graphics3D 1024,768,32,1

ClearWorld(1,1,1)
Global cam1=CreateCamera()
Global lgt1=CreateLight()
Global mesh

Global picked#,tri,surface
Global v1x#,v1y#,v1z#,v1
Global v2x#,v2y#,v2z#,v2
Global v3x#,v3y#,v3z#,v3


PositionEntity cam1,0,2,-40
Global tex=LoadBrush("vertile.png")
target=LoadImage("target.png")

mesh_create2
RotateEntity mesh,90,0,0
While Not KeyHit(1)

If KeyDown(200) Then TurnEntity mesh,.1,0,0
If KeyDown(203) Then TurnEntity mesh,0,-.1,0
If KeyDown(208) Then TurnEntity mesh,-.1,0,0
If KeyDown(205) Then TurnEntity mesh,0,.1,0
If KeyDown(201) Then MoveEntity cam1,0,0,.1
If KeyDown(209) Then MoveEntity cam1,0,0,-.1
If KeyDown(16) And picked>0 Then movevert1
If KeyDown(30) And picked>0 Then movevert2
If MouseHit(1) Then getpicked
UpdateWorld
RenderWorld
Text 100,100,"picked="+picked
Text 100,115,"Tri="+tri
Text 100,130,"vert1 x="+v1x+"  y="+v1y+"  z="+v1z
DrawImage target,MouseX(),MouseY()
Flip 0
Wend
End


Function mesh_create1()
mesh=CreateMesh()
	For x=1 To 10
		For z=1 To 10
			surf=CreateSurface(mesh)
			v1=AddVertex(surf,x-5,0,z-4)
			v2=AddVertex(surf,x-5,0,z-5)
			v3=AddVertex(surf,x-4,0,z-5)
			v4=AddVertex(surf,x-4,0,z-4)
			t1=AddTriangle(surf,v1,v2,v3)
			t2=AddTriangle(surf,v3,v4,v1)
		Next
	Next
UpdateNormals Mesh
EntityColor mesh,50,255,30
End Function

Function mesh_create2()
mesh=CreateMesh()
surf=CreateSurface(mesh,tex)
	For x=1 To 20
		For z=1 To 20			
		    v1=AddVertex(surf,x-10,0,z-9,0,0)
			v2=AddVertex(surf,x-10,0,z-10,0,1)
			v3=AddVertex(surf,x-9,0,z-10,1,1)
			v4=AddVertex(surf,x-9,0,z-9,1,0)
			t1=AddTriangle(surf,v1,v2,v3)
			t2=AddTriangle(surf,v3,v4,v1)
		Next
	Next
UpdateNormals Mesh
EntityColor mesh,50,255,30
EntityPickMode mesh,2
End Function

Function mesh_create2b()
mesh=CreateMesh()
surf=CreateSurface(mesh,tex)
	For x=1 To 20
		For z=1 To 20			
		    v1=AddVertex(surf,x-10,0,z-9,0,0)
			v2=AddVertex(surf,x-10,0,z-10,0,1)
			v3=AddVertex(surf,x-9,0,z-10,1,1)
			v4=AddVertex(surf,x-9,0,z-9,1,0)
			t1=AddTriangle(surf,v1,v2,v3)
			t2=AddTriangle(surf,v3,v4,v1)
		Next
	Next
UpdateNormals Mesh
EntityColor mesh,50,255,30
EntityPickMode mesh,2
End Function

Function mesh_create3()
mesh=CreateMesh()
	For x=1 To 10
		For z=1 To 10
			surf=CreateSurface(mesh)
			v1=AddVertex(surf,x-5,0,z-4)
			v2=AddVertex(surf,x-5,0,z-5)
			v3=AddVertex(surf,x-4,0,z-5)
			v4=AddVertex(surf,x-4,0,z-4)
			t1=AddTriangle(surf,v1,v2,v3)
			t2=AddTriangle(surf,v3,v4,v1)
			t3=AddTriangle(surf,v3,v2,v1)
			t4=AddTriangle(surf,v1,v4,v3)
		Next
	Next
UpdateNormals Mesh
EntityColor mesh,50,255,30
End Function

Function mesh_create4()
mesh=CreateMesh()
surf=CreateSurface(mesh)
	For x=1 To 90
		For z=1 To 98
		    v1=AddVertex(surf,x-5,0,z-4,0,0)
			v2=AddVertex(surf,x-5,0,z-5)
			v3=AddVertex(surf,x-4,0,z-5)
			v4=AddVertex(surf,x-4,0,z-4)
			t1=AddTriangle(surf,v1,v2,v3)
			t2=AddTriangle(surf,v3,v4,v1)
			t3=AddTriangle(surf,v3,v2,v1)
			t4=AddTriangle(surf,v1,v4,v3)
		Next
	Next
UpdateNormals Mesh
EntityColor mesh,50,255,30
End Function

Function Getpicked()
picked=CameraPick(cam1,MouseX()+15,MouseY()+15)
If picked>0 Then getvert
End Function


Function Getvert()
tri=PickedTriangle()
surface=GetSurface(mesh,1)
v1=TriangleVertex(surface,tri,0)
v1x=VertexX(surface,v1)
v1y=VertexY(surface,v1)
V1z=VertexZ(surface,v1)
End Function

Function movevert1()
v1y=v1y+.001
VertexCoords (surface,v1,v1x,v1y,v1z)

End Function

Function movevert2()
v1y=v1y+-.001
VertexCoords (surface,v1,v1x,v1y,v1z)
UpdateNormals mesh
End Function


working on another possible method of terrain gen
what would does the public think would suit them better

i know the verts are not morphing properly added to many verts in testing code