Kann Mesh nicht laden

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
unix
Beiträge: 361
Registriert: 15.02.2005 19:25
Wohnort: Zwischen Coburg und Bamberg :-)
Kontaktdaten:

Kann Mesh nicht laden

Beitrag von unix »

OK ich habe folgendes Problem ich habe den Beispielcode von der Hilfe zu Material geöffntet und wollte testen.

Nun ich habe ich wenn ich starten will einen Fehler:
Windows meldet:
PureBasic2920250.exe hat ein Problem festgestellt und muss beendet werden.
Da ich mir denken kann das ihr diesen "Fehler" kennt, brauch ich ihn nicht weiter beschreiben.

Mein Code:

Code: Alles auswählen

#CameraSpeed = 10

IncludeFile "D:\PureBasic\Screen3DRequester.pb"

DefType.f KeyX, KeyY, MouseX, MouseY

If InitEngine3D()

  Add3DArchive("Data\", #PB_3DArchive_FileSystem)
  
  InitSprite()
  InitKeyboard()
  InitMouse()
  
  If Screen3DRequester()
    
    AmbientColor(RGB(255,255,255))
    
    LoadMesh   (0, "D:\PureBasic\Robot.mesh")
    
    CreateMaterial(0, LoadTexture(0, "D:\PureBasic\r2skin.png"))

    CreateMaterial(1, LoadTexture(1, "D:\PureBasic\clouds.png"))
    MaterialBlendingMode(1, 3)  ; Alphablending for this texture
    
    CreateEntity  (0, MeshID(0), MaterialID(1))
    CreateEntity  (1, MeshID(0), MaterialID(0))
 
    MoveEntity(1, 100, 0, 0)
    
    CreateCamera(0, 0, 0, 100, 100)
    CameraLocate(0,0,0,100)
      
    Repeat
      Screen3DEvents()
     
      ClearScreen(0, 0, 0)
            
      If ExamineKeyboard()
        
        If KeyboardPushed(#PB_Key_Left)
          KeyX = -#CameraSpeed 
        ElseIf KeyboardPushed(#PB_Key_Right)
          KeyX = #CameraSpeed 
        Else
          KeyX = 0
        EndIf
                  
        If KeyboardPushed(#PB_Key_Up)
          KeyY = -#CameraSpeed 
        ElseIf KeyboardPushed(#PB_Key_Down)
          KeyY = #CameraSpeed 
        Else
          KeyY = 0
        EndIf

      EndIf
      
      If ExamineMouse()
        MouseX = -(MouseDeltaX()/10)*#CameraSpeed/2
        MouseY = -(MouseDeltaY()/10)*#CameraSpeed/2
      EndIf
      
      RotateEntity(0, 1, 0, 0)
      RotateEntity(1, 0.5, 0, 0)
      
      RotateCamera(0, MouseX, MouseY, RollZ)
      MoveCamera  (0, KeyX, 0, KeyY)
      
      RenderWorld()
      Screen3DStats()
      FlipBuffers()
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
  EndIf
    
Else
  MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
  
End
; ExecutableFormat=Windows
; CursorPosition=44
; FirstLine=1
; EOF
Wäre schön wenn ich helfen könnt.
Hier steht normalerweise die Putzfrau drin,
die hat aber Urlaub.
MfG : Unix
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

hmmm..komisch.
wenn die pfäde stimmen, dann sollte es eigentlich funzen.
werds aber nochmal genauer unter die lupe nehmen.
was sagt der debugger genau?
-.-"
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

Also bei mir funktioniert der Code einwandfrei!
Bei dir im Code steht cload.png und r2skin.png normal haben die beiden Dateien die Dateiendung JPG, also kann es eind as du die Dateien mit Paint "konvertiert" hast, dann kann es daran liegen verwende mal die original Dateien!
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Vielleicht das?

Code: Alles auswählen

Add3DArchive("Data\", #PB_3DArchive_FileSystem)
das muss wenn du absolute Pfadangaben verwedest natürlich

Code: Alles auswählen

Add3DArchive("D:\PureBasic\Data\", #PB_3DArchive_FileSystem)
Dann kannst du dir auch die restlichen Pfadangaben sparen. (ausser den 3DRequester.pb, der muss so bleiben)

Tip: kopier doch alles in einen Ordner
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Antworten