Cherche de l'aide sur la programmation 3D

Généralités sur la programmation 3D
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Cherche de l'aide sur la programmation 3D

Message par CORBASE »

J'aimerais essayer de programmer un petit truc en 3D, or pour cela, j'aimerais savoir si vous connaissaient des tutauriaux sur la programmation 3D avec PB et en utilisant OGRE de PB :p

Merci d'avance
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

précise sur quels points , sinon j'ai mis le source d'un petit code 3D dans la section trucs et astuces. tu peux y jeter un oeil .
Ce n'est peut-être pas ce genre de chose que tu cherches ?
As-tu regardé les exemples dans le répertoire Examples/sources ?
ça permet de se faire une petite idée sur différentes instructions 3D , comme le terrain les lumières ,les meshs , etc .
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Bah, j'ai regarder dans la section example. J'ai essayer de modifier mais a chaque fois, cela ne veux pas se compiler, cela me met des erreurs ...

En fait, j'aimerais d'abord comprendre commant fonctionne les terrains, car j'ai essayer de modifier un peu l'exemple, soit "Terrain.png" mais a chaque fois sa marche pas ..

Enfin, merci pour l'info !
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

mets le texte exact de l'erreur , sinon ça n'aide pas bcp , et est-ce que le source original fonctionne ?

sur le forum anglais , wolfgang ( si mes souvenirs sont bons ) a fait un petit tut pour créer un terrain , regarde dans la section trucs et astuces , bon c'est en anglais .
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Alors, le code de départ est bon, en fait je ne fait que changer la texture, c'est à dire que je ne modifie que le nom du fichier

l'erreur est :

No terrain are currently created

Avant de rire, je suis un n00b :P

Enfait ce que je ne comprend pas, c'est que je ne touche pas le code, mais juste le fichier PNG ...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

euh , tu ne changes vraiment rien dans le code ? même pas le nom du fichier que tu as modifié ? :)
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Non, c'e'st sa le pire, je ne change rien, je fait une sauvegarde du fichier PNG, puis je modifie le fichier ..

Enfin, je pense ne pas comprendre les subtilités de la 3D Mdrrr

Sinon, il n'y a pas un problèmes au niveaux des niveau de gris sur les terrains, qui a chaque pixel d'une couleur donne un niveau ?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

bon je viens de tester le code
c'est cette ligne que tu modifies ? ton fichier terrain.png à les mêmes dimensions que l'original ? il est dans le même répertoire ?
CreateTerrain("Terrain.png", MaterialID(0), 4, 0.6, 4, 4)
Dernière modification par comtois le sam. 28/févr./2004 16:27, modifié 2 fois.
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Je ne la modifie meme pas ! ( la ligne de code )

Je modifie juste le fichier, et oui il a la meme dimension, c'est pour cecla que je ne comprend pas ...

Cela vient peut être du fait que je l'ai modifier avec FIREWORKS MX ?

Enfin, en tout cas, merci de ton aide !
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

si l'anglais ne te rebute pas , tu peux faire un tour ici

http://purebasic.myforums.net/viewtopic.php?t=8699


ton image doit être en 256 couleurs ,tu as vérifié ?
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Alors, mon image est bien en 256 couleurs, je viens de verifier ..

Mais merci pour le lien, j'essaye de creer mon terrain, avec les logiciels fourni, puis je renvoi un post ici pour donner mon résultat.

Et encore merci Comtois !
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Bon, cela ne veux pas marché !!! Grrr

Cette fois, pour créer mon terrain j'ai utilisé SC3K, et pour la texture TerrTex. Donc, cela me cree une texture et un terrain. Or il subsiste un pb :

Code : Tout sélectionner

    If CreateMaterial  (0, LoadTexture(0, "terrain_tex0.bmp"))=0  
      MessageRequester("","Error CreateMaterial",0):End:EndIf 
    
    If CreateTerrain("terrain.bmp", MaterialID(0), 4, 0.6, 4, 4)=0   
      MessageRequester("","Error CreateTerrain",0):End:EndIf 
Le debuggeur me mais comme message d'erreur :

Code : Tout sélectionner

    If CreateMaterial  (0, LoadTexture(0, "terrain_tex0.bmp"))=0  
      MessageRequester("","Error CreateMaterial",0):End:EndIf 
The specified TextureID is null.

Je ne comprend pas ...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

il semble que le problème vienne de ton fichier texture
fait un test en décomposant
charge seulement la texture pour voir

Code : Tout sélectionner

if LoadTexture(0, "terrain_tex0.bmp") = 0
messagetruc 
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

sinon j'avais rencontré un problème avec un fichier png
la solution que j'avais trouvé c'était de passer par une image

Code : Tout sélectionner

UsePNGImageDecoder() 
;LoadTexture(0,"purebasiclogoNew.png") ; <<<ça plante quand je mets juste ça 
 
LoadImage(0,"purebasiclogoNew.png")    ; alors que l'image se charge  
CreateTexture(0,256,256) 
StartDrawing(TextureOutput(0)) 
   DrawImage(UseImage(0),0,0) 
stopdrawing()
CORBASE
Messages : 96
Inscription : mar. 24/févr./2004 14:06

Message par CORBASE »

Alors pour la premiere solution, soit :

Code : Tout sélectionner

    If LoadTexture(0, "terrain_tex0.bmp")=0  
      MessageRequester("","Error CreateMaterial",0):End:EndIf 
Mon message d'erreur s'affiche, j'ai bien vérifier ma texture est bien dans mon dossier data.

Voila le code source integral en cas sa puisse t'aider :

Code : Tout sélectionner

#CameraSpeed = 5

IncludeFile "Screen3DRequester.pb"

DefType.f KeyX, KeyY, MouseX, MouseY

If InitEngine3D()
  Add3DArchive("Data\"          , #PB_3DArchive_FileSystem)
  Add3DArchive("Data\Skybox.zip", #PB_3DArchive_Zip)
  
  InitSprite()
  InitKeyboard()
  InitMouse()
  
  If Screen3DRequester()
      AmbientColor(RGB(255,255,255)) 
    If LoadTexture(0, "terrain_tex0.bmp")=0  
      MessageRequester("","Error CreateMaterial",0):End:EndIf 
    
    If CreateTerrain("terrain.bmp", MaterialID(0), 4, 0.6, 4, 4)=0   
      MessageRequester("","Error CreateTerrain",0):End:EndIf 

    CreateCamera(0, 0, 0, 100, 100)
    CameraLocate(0, 128, 25, 128)
    
    SkyDome("Clouds.jpg",10)
    
    Repeat
      Screen3DEvents()
            
      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
      
      Height.f = TerrainHeight(CameraX(0), CameraZ(0))
      
      RotateCamera(0, MouseX, MouseY, RollZ)
      MoveCamera  (0, KeyX, -CameraY(0)+Height+8, 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
Répondre