Page 1 sur 1

problème pour Ogre3d

Publié : sam. 02/juil./2022 13:21
par threedslider
Hello,

Je voulais réduire au minimum pour comprendre du moteur Ogre 3D, mais j'ai un problème il se lance pas correctement et n'affiche pas non plus le mesh Sinbad, comment remédier cela, merci ?

Voici le code :

Code : Tout sélectionner

IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb"

InitSprite()
InitKeyboard()

If InitEngine3D()
  
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures"        , #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Models"          , #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/desert.zip", #PB_3DArchive_Zip)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/Sinbad.zip", #PB_3DArchive_Zip)
  Parse3DScripts()
  
  If Screen3DRequester()
    
     WorldShadows(#PB_Shadow_Modulative, -1, RGB(127, 127, 127))
        
    ;-Ground    
    DirtMaterial = CreateMaterial(#PB_Any, LoadTexture(#PB_Any, "Dirt.jpg"))
    PlaneMesh = CreatePlane(#PB_Any, 500, 500, 1, 1, 25, 25)
    Ground = CreateEntity(#PB_Any,MeshID(PlaneMesh),MaterialID(DirtMaterial))
    
    EntityRenderMode(Ground, 0)
        
    ;- Sinbad    
    SinbadMesh = LoadMesh(#PB_Any, "Sinbad.mesh")
    CreateEntity(#PB_Any,MeshID(SinbadMesh),#PB_Material_None)  
        
    ;- Light
    CreateLight(#PB_Any, RGB(255, 255, 255), -10, 40, 20, #PB_Light_Point)
    AmbientColor(RGB(255*0.3, 255*0.3, 255*0.3))
    
    ;- Skybox
    Fog(RGB(255,255,255*0.8), 1, 0, 25000)
    SkyBox("desert07.jpg")
    
    ;- Camera    
    Camera = CreateCamera(#PB_Any, 0, 0, 100, 100)
    CameraLookAt(Camera,  EntityX(Plane), EntityY(Plane) + 40, EntityZ(Plane))  
        
    Repeat 
      Screen3DEvents()
      FlipBuffers()
      
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
    
  EndIf
Else
  MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf

End

Re: problème pour Ogre3d

Publié : sam. 02/juil./2022 14:31
par threedslider
OK... Bon ben grâce au debugger m'a permis de résoudre ces problèmes donc j'ai modifié un peu il marche maintenant :oops: (Désolé !)

Voici la correction du code :

Code : Tout sélectionner

IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb"

If InitEngine3D()
    
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures"        , #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Models"          , #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/desert.zip", #PB_3DArchive_Zip)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/Sinbad.zip", #PB_3DArchive_Zip)
  Parse3DScripts()
  
  InitSprite()
  InitKeyboard()
  
  If Screen3DRequester()
    
     WorldShadows(#PB_Shadow_Modulative, -1, RGB(127, 127, 127))
        
    ;-Ground    
    DirtMaterial = CreateMaterial(#PB_Any, TextureID(LoadTexture(#PB_Any, "Dirt.jpg")))
    PlaneMesh = CreatePlane(#PB_Any, 500, 500, 1, 1, 25, 25)
    Ground = CreateEntity(#PB_Any,MeshID(PlaneMesh),MaterialID(DirtMaterial))
    
    EntityRenderMode(Ground, 0)
        
    ;- Sinbad    
    SinbadMesh = LoadMesh(#PB_Any, "Sinbad.mesh")
    Entity = CreateEntity(#PB_Any,MeshID(SinbadMesh),#PB_Material_None)  
    MoveEntity(Entity, 0, 5.1, 0, #PB_Absolute)
    
    ;- Skybox
    SkyBox("desert07.jpg")
    
    ;- Camera    
    Camera = CreateCamera(#PB_Any, 0, 0, 100, 100)
    MoveCamera(Camera, 0, 10, 30, #PB_Absolute)
    CameraLookAt(Camera,  0, 0, 0)  
    
     ;- Light
    CreateLight(#PB_Any, RGB(255, 255, 255), -10, 40, 20)
    AmbientColor(RGB(255*0.3, 255*0.3, 255*0.3))
        
    Repeat 
      Screen3DEvents()
      RenderWorld()
      FlipBuffers()
      
    Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
    
  EndIf
 Else
  MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf

End
Du coup j'avais mal codé mais là j'ai compris :lol: