Mesh data Test function

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Mesh data Test function

Post by IdeasVacuum »

It's possible to unintentionally create a non-existent mesh (for example, erroneous transform code). IsMesh() checks if a mesh has been created/initialised logically, but does not verify the data describing the mesh:

Code: Select all

#Cube = 1

Procedure MeshTest()
;------------------

  If InitEngine3D()

        InitSprite()
        InitKeyboard()

        If OpenWindow(0,0,0,800,600,"Test Mesh")

               OpenWindowedScreen(WindowID(0),0,0,800,600)

                     Result = CreateCube(#Cube, 0)
               Debug Result

                     Result = MeshVertexCount(#Cube)
               Debug Result

               If(IsMesh(#Cube) = 0)

                       Debug "Not a mesh"
               Else
                       Debug "Is a mesh"
               EndIf

               CreateCamera(0,0,0,800,600)

               Repeat

                      RenderWorld()
                      FlipBuffers()

                      Repeat
                                     Event = WindowEvent()
                              Select Event
                                     Case #PB_Event_CloseWindow
                                          Exit = #True
                              EndSelect

                      Until Event = #False

               Until Exit = #True

               CloseWindow(0)
        EndIf
  EndIf

EndProcedure

MeshTest()

End
IdeasVacuum
If it sounds simple, you have not grasped the complexity.