Cherche de l'aide sur la programmation 3D
Cherche de l'aide sur la programmation 3D
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
Merci d'avance
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 .
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 .
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 !
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 !
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
Enfait ce que je ne comprend pas, c'est que je ne touche pas le code, mais juste le fichier PNG ...
l'erreur est :
No terrain are currently created
Avant de rire, je suis un n00b

Enfait ce que je ne comprend pas, c'est que je ne touche pas le code, mais juste le fichier PNG ...
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 ?
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 ?
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 ?
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.
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é ?
http://purebasic.myforums.net/viewtopic.php?t=8699
ton image doit être en 256 couleurs ,tu as vérifié ?
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 :
Le debuggeur me mais comme message d'erreur :
The specified TextureID is null.
Je ne comprend pas ...
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
Code : Tout sélectionner
If CreateMaterial (0, LoadTexture(0, "terrain_tex0.bmp"))=0
MessageRequester("","Error CreateMaterial",0):End:EndIf
Je ne comprend pas ...
il semble que le problème vienne de ton fichier texture
fait un test en décomposant
charge seulement la texture pour voir
fait un test en décomposant
charge seulement la texture pour voir
Code : Tout sélectionner
if LoadTexture(0, "terrain_tex0.bmp") = 0
messagetruc
sinon j'avais rencontré un problème avec un fichier png
la solution que j'avais trouvé c'était de passer par une image
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()
Alors pour la premiere solution, soit :
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
If LoadTexture(0, "terrain_tex0.bmp")=0
MessageRequester("","Error CreateMaterial",0):End:EndIf
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