Can someone please have alook atthis code and tell me what the problem is :-
;load and save meshes
Graphics3D 640,480,16,1
Global car,car2,pos
camera=CreateCamera()
light=CreateLight()
car=CreateCube()
save_mesh(car)
FreeEntity car
newcar=load_mesh()
SetBuffer BackBuffer()
PositionEntity camera,0,10,0:PointEntity camera,newcar
While Not KeyDown(1)
TurnEntity newcar,1,1,1
UpdateWorld()
RenderWorld()
Flip
Wend
End
Function save_mesh(mesh)
file=WriteFile("test.my3d")
WriteInt(file,CountSurfaces(mesh))
For surface_num=1 To CountSurfaces(mesh)
temp_surface=GetSurface(mesh,surface_num)
WriteInt(file,CountVertices(temp_surface))
For vertex_num=0 To CountVertices(temp_surface)-1
WriteFloat(file,VertexX#(temp_surface,vertex_num))
WriteFloat(file,VertexY#(temp_surface,vertex_num))
WriteFloat(file,VertexZ#(temp_surface,vertex_num))
WriteFloat(file,VertexNX#(temp_surface,vertex_num))
WriteFloat(file,VertexNY#(temp_surface,vertex_num))
WriteFloat(file,VertexNZ#(temp_surface,vertex_num))
WriteFloat(file,VertexRed#(temp_surface,vertex_num))
WriteFloat(file,VertexGreen#(temp_surface,vertex_num))
WriteFloat(file,VertexBlue#(temp_surface,vertex_num))
WriteFloat(file,VertexU#(temp_surface,vertex_num))
WriteFloat(file,VertexV#(temp_surface,vertex_num))
WriteFloat(file,VertexW#(temp_surface,vertex_num))
Next
WriteInt(file,CountTriangles(temp_surface))
For triangle_num=0 To CountTriangles(temp_surface)-1
WriteInt(file,TriangleVertex(temp_surface,triangle_num,0))
WriteInt(file,TriangleVertex(temp_surface,triangle_num,1))
WriteInt(file,TriangleVertex(temp_surface,triangle_num,2))
Next
Next
CloseFile file
End Function
;======================================================================================================
Function load_mesh()
file=ReadFile("test.my3d")
mesh=CreateMesh()
For surface_num=1 To ReadInt(file)
temp_surface=CreateSurface(mesh)
For vertex_num=0 To ReadInt(file)-1
temp_vertex=AddVertex(temp_surface,ReadFloat(file),ReadFloat(file),ReadFloat(file))
VertexNormal temp_surface,temp_vertex,ReadFloat(file),ReadFloat(file),ReadFloat(file)
VertexColor temp_surface,temp_vertex,ReadFloat(file),ReadFloat(file),ReadFloat(file)
VertexTexCoords temp_surface,temp_vertex,ReadFloat(file),ReadFloat(file),ReadFloat(file)
Next
For triangle_num=0 To ReadInt(file)-1
AddTriangle(temp_surface,ReadInt(file),ReadInt(file),ReadInt(file))
Next
Next
CloseFile file
Return mesh
End Function
;load and save meshes
Graphics3D 640,480,16,1
Global car,car2,pos
camera=CreateCamera()
light=CreateLight()
car=CreateCube()
save_mesh(car)
FreeEntity car
newcar=load_mesh()
SetBuffer BackBuffer()
PositionEntity camera,0,10,0:PointEntity camera,newcar
While Not KeyDown(1)
TurnEntity newcar,1,1,1
UpdateWorld()
RenderWorld()
Flip
Wend
End
Function save_mesh(mesh)
file=WriteFile("test.my3d")
WriteInt(file,CountSurfaces(mesh))
For surface_num=1 To CountSurfaces(mesh)
temp_surface=GetSurface(mesh,surface_num)
WriteInt(file,CountVertices(temp_surface))
For vertex_num=0 To CountVertices(temp_surface)-1
WriteFloat(file,VertexX#(temp_surface,vertex_num))
WriteFloat(file,VertexY#(temp_surface,vertex_num))
WriteFloat(file,VertexZ#(temp_surface,vertex_num))
WriteFloat(file,VertexNX#(temp_surface,vertex_num))
WriteFloat(file,VertexNY#(temp_surface,vertex_num))
WriteFloat(file,VertexNZ#(temp_surface,vertex_num))
WriteFloat(file,VertexRed#(temp_surface,vertex_num))
WriteFloat(file,VertexGreen#(temp_surface,vertex_num))
WriteFloat(file,VertexBlue#(temp_surface,vertex_num))
WriteFloat(file,VertexU#(temp_surface,vertex_num))
WriteFloat(file,VertexV#(temp_surface,vertex_num))
WriteFloat(file,VertexW#(temp_surface,vertex_num))
Next
WriteInt(file,CountTriangles(temp_surface))
For triangle_num=0 To CountTriangles(temp_surface)-1
WriteInt(file,TriangleVertex(temp_surface,triangle_num,0))
WriteInt(file,TriangleVertex(temp_surface,triangle_num,1))
WriteInt(file,TriangleVertex(temp_surface,triangle_num,2))
Next
Next
CloseFile file
End Function
;======================================================================================================
Function load_mesh()
file=ReadFile("test.my3d")
mesh=CreateMesh()
For surface_num=1 To ReadInt(file)
temp_surface=CreateSurface(mesh)
For vertex_num=0 To ReadInt(file)-1
temp_vertex=AddVertex(temp_surface,ReadFloat(file),ReadFloat(file),ReadFloat(file))
VertexNormal temp_surface,temp_vertex,ReadFloat(file),ReadFloat(file),ReadFloat(file)
VertexColor temp_surface,temp_vertex,ReadFloat(file),ReadFloat(file),ReadFloat(file)
VertexTexCoords temp_surface,temp_vertex,ReadFloat(file),ReadFloat(file),ReadFloat(file)
Next
For triangle_num=0 To ReadInt(file)-1
AddTriangle(temp_surface,ReadInt(file),ReadInt(file),ReadInt(file))
Next
Next
CloseFile file
Return mesh
End Function