J'ai testé un programme 3d du site (ogre) pour m'en inspiré, l'execution est ok sous Purebasic (run).
mais dés que je créer un executable et que je le demarre il plante.
De meme quand j'ai integré ce bout de programme 3d dans mon programme perso
celui ci ne fonctionne plus quand je créer un executable par contre en mode run sous pure basic pas de soucis.
voici le code du programme
Code : Tout sélectionner
;Les trois dimensions
; Coordonnées x,y,z de la caméra
Define.f CamX, CamY, CamZ
InitEngine3D()
InitKeyboard()
InitSprite()
window = OpenWindow(#PB_Any,0,0,1024,768,"Les 3 dimensions")
OpenWindowedScreen(WindowID(window),0,0,600,600)
;
Red = RGB(255, 0, 0) ;Couleur de l'axe X
Green = RGB(0, 255, 0) ;Couleur de l'axe Z
Blue = RGB(0, 255, 255) ;Coleur de l'axe Y
AxeX = CreateLine3D(#PB_Any, -10,0,0, Red, 10, 0, 0, Red)
AxeY = CreateLine3D(#PB_Any, 0,-10,0, Blue, 0, 10, 0, Blue)
AxeZ = CreateLine3D(#PB_Any, 0,0,-10, Green, 0, 0, 10, Green)
;
; Une camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CamX=2.0
CamY=1.0
CamZ=15
; La caméra regarde en dirextion d'un point au coordonnées x=0, y=0, z=0
CameraLookAt(camera,0,0,0)
While #True
Event = WindowEvent()
ExamineKeyboard()
; Touche Escape pour fermer l'application
If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
Break
EndIf
If KeyboardPushed(#PB_Key_Left)
CamX-0.2
ElseIf KeyboardPushed(#PB_Key_Right)
CamX+0.2
EndIf
If KeyboardPushed(#PB_Key_Up)
CamY+0.2
ElseIf KeyboardPushed(#PB_Key_Down)
CamY-0.2
EndIf
MoveCamera(camera, CamX, CamY, CamZ, #PB_Absolute)
; Affiche le rendu de la scène
ClearScreen(RGB(0, 0, 0))
RenderWorld()
FlipBuffers()
Wend
Purebasic 5.22 LTS, windows 7