Grids in 3d?

Blitz3D Forums/Blitz3D Programming/Grids in 3d?

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.

As I said, I could post one.

;;;;;;;;;;;EXAMPLE
Graphics3D 800,600,32,2

C = CreateCamera()
Grid = CreateGrid(8,32,.5)

Repeat
	If KeyHit(1) Then : ClearWorld : End : EndIf
	MoveEntity C,0,0,Float(KeyDown(2)-KeyDown(3))/2
	Pan# = Pan# - Float(MouseXSpeed())/3
	Tilt# = Tilt# + Float(MouseYSpeed())/3
	MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
	RotateEntity C,Tilt,Pan,0
	UpdateWorld
	RenderWorld
	Flip False
Forever


;;;;;;;;;;;;CREATEGRID
Function CreateGrid(GridSize%,Segments%=10,LineWidth#=.1)
	M = CreateMesh()
	Surf = CreateSurface(M)
	GridSize = Abs(GridSize)
	Segments = Abs(Segments)
	N# = -(GridSize*Segments)+GridSize/2
	While N < GridSize*Segments
		V = AddVertex(Surf,N,0,GridSize*Segments)
		AddVertex(Surf,N+LineWidth#,0,GridSize*Segments)
		AddVertex(Surf,N+LineWidth#,0,-GridSize*Segments)
		AddVertex(Surf,N,0,-GridSize*Segments)
		AddTriangle Surf,V,V+1,V+2
		AddTriangle Surf,V+2,V+3,V
		N = N + GridSize
	Wend
	N# = -(GridSize*Segments)+GridSize/2
	While N < GridSize*Segments
		V = AddVertex(Surf,GridSize*Segments,0,N)
		AddVertex(Surf,GridSize*Segments,0,N+LineWidth#)
		AddVertex(Surf,-GridSize*Segments,0,N+LineWidth#)
		AddVertex(Surf,-GridSize*Segments,0,N)
		AddTriangle Surf,V,V+1,V+2
		AddTriangle Surf,V+2,V+3,V
		N = N + GridSize
	Wend
	
	UpdateNormals M
	EntityFX M,16
	Return M
End Function