PureBasic et Windows 10.
PureBasic et Windows 10.
Bonjour.
Je souhaite écrire un programme 3D sous Windows 10.
Mais j'obtiens le message d'erreur suivant au lancement: Engine3D can't be initialized.
Pourtant, après vérification, le fichier 'engine3d.dll' figure bien dans le dossier 'compilateur'.
Merci de votre aide.
Je souhaite écrire un programme 3D sous Windows 10.
Mais j'obtiens le message d'erreur suivant au lancement: Engine3D can't be initialized.
Pourtant, après vérification, le fichier 'engine3d.dll' figure bien dans le dossier 'compilateur'.
Merci de votre aide.
Re: PureBasic et Windows 10.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows 10.
Peut être effectivement parce que tu es sous windows10 et que tu vas devoir installer Directx9c mais le fait que tu obtiennes ce message me fait dire que tu pourrais afficher ton code pour voir si tu n'as pas oublié un trucpierre59 a écrit :Mais j'obtiens le message d'erreur suivant au lancement: Engine3D can't be initialized.

A part ça ..... Bienvenue pierre.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: PureBasic et Windows 10.
Bonjour.
Le code testé est celui de l'exemple 'tank.pb', trouvé dans la doc de PureBasic.
Il me demande maintenant d'afficher une fenêtre, sous Win 10.
Merci de votre aide.
Voici le code de 'tank.pb':
Et celui de 'Screen3DRequester.pb':
Le code testé est celui de l'exemple 'tank.pb', trouvé dans la doc de PureBasic.
Il me demande maintenant d'afficher une fenêtre, sous Win 10.
Merci de votre aide.
Voici le code de 'tank.pb':
Code : Tout sélectionner
IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb"
Resultat=InitEngine3D()
Resultat = InitSprite()
Resultat=OpenScreen(800,600,32,"Exemple OpenScreen")
#PB_Material_AmbientColor = 2
#PlayerSpeed = 0.4
#CameraSpeed = 1
Structure Vector3
x.f
y.f
z.f
EndStructure
Structure s_Key
Up.i
Down.i
Left.i
Right.i
EndStructure
Structure s_Entity
elapsedTime.f
Key.s_Key
MainNode.i
TourelleNode.i
CanonNode.i
ShootNode.i
ForwardNode.i
SightNode.i
CameraNode.i
SightNode1.i
CameraNode1.i
EndStructure
Structure s_Camera
Camera.i
Tightness.f
CameraNode.i
TargetNode.i
EndStructure
Structure Bullet
Bullet.i
numRibbon.i
timer.f
Direction.Vector3
Speed.f
Life.l
EndStructure
Macro GetNodePosition(Position, Node)
Position\x = NodeX(Node)
Position\y = NodeY(Node)
Position\z = NodeZ(Node)
EndMacro
Macro SubVector3(V, V1, V2)
V\x = V1\x - V2\x
V\y = V1\y - V2\y
V\z = V1\z - V2\z
EndMacro
;-Declare
Declare HandleEntity(*Entity.s_Entity)
Declare CameraTrack(*Camera.s_Camera, *Entity.s_Entity)
Declare CreatePyramide(Nb.i)
Declare Shootbullet()
;-Variables
Define Tank.s_Entity
Define Camera.s_Camera
Global NewList Bullets.Bullet()
If InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
;If Screen3DRequester()
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures" , #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Scripts" , #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/desert.zip", #PB_3DArchive_Zip)
Parse3DScripts()
WorldShadows(#PB_Shadow_Modulative, 500)
;Texture
CreateTexture(0,128, 128)
StartDrawing(TextureOutput(0))
Box(0, 0, 128, 128, RGB(255, 255, 255))
StopDrawing()
; Ribbon texture
CreateTexture(1,128, 1)
StartDrawing(TextureOutput(1))
DrawingMode(#PB_2DDrawing_Gradient)
BackColor(0)
GradientColor(0.5, RGB(255, 255, 255))
FrontColor(0)
LinearGradient(0, 0, 128, 0)
Box(0, 0, 128, 1)
StopDrawing()
;-Material
;Tank
CreateMaterial(0, LoadTexture(3, "RustySteel.jpg"))
;Bullet
CreateMaterial(1, TextureID(0))
SetMaterialColor(1, #PB_Material_AmbientColor, RGB(255, 0, 0))
;Sol
GetScriptMaterial(5, "Scene/GroundBlend")
;Pyramide
CreateMaterial(6, LoadTexture(6, "Caisse.png"))
;Ribbon
GetScriptMaterial(7, "Examples/LightRibbonTrail")
;Ground
CreatePlane(0, 100, 100, 10, 10, 10, 10)
CreateEntity(0, MeshID(0), MaterialID(5), 0, 0, 0)
EntityRenderMode(0, 0) ; Disable shadow casting for this entity as it's our plan
EntityPhysicBody(0, #PB_Entity_StaticBody)
; Mesh
CreateCube(1, 1)
CreateSphere(2, 1.5)
CreateCylinder(3, 0.5, 8)
;-Corps
CreateEntity(1, MeshID(1), MaterialID(0))
ScaleEntity(1, 4, 2, 8)
MoveEntity(1, 0, 1, 0)
;-Tourelle
CreateEntity(2, MeshID(2), MaterialID(0))
EntityRenderMode(2, 0)
;-Canon
CreateEntity(3, MeshID(3), MaterialID(0))
RotateEntity(3, 90, 0, 0)
MoveEntity(3, 0, 0.0, -4)
;-Create Pyramide
CreatePyramide(8)
;-Light
CreateLight(0,RGB(125, 125, 125), 100, 500, 250)
AmbientColor(RGB(95, 95, 95))
;-Fog
Fog(RGB(128, 128, 128), 1, 0, 10000)
;-Skybox
SkyBox("desert07.jpg")
;-Camera
CreateCamera(0, 0, 0, 100, 100)
CameraFOV(0, 40)
With Camera
\Camera = 0
\Tightness = 0.035
; Camera use 2 nodes
\CameraNode = CreateNode(#PB_Any, 0, 700, 300) ; Camera position
\TargetNode = CreateNode(#PB_Any) ; For cameraLookAt
AttachNodeObject(\CameraNode, CameraID(\Camera))
EndWith
CreateCamera(1, 0.1, 67, 33, 33)
CameraFOV(1, 25)
With Tank
\Key\Down = #PB_Key_Down
\Key\Left = #PB_Key_Left
\Key\Right = #PB_Key_Right
\Key\Up = #PB_Key_Up
\MainNode = CreateNode(#PB_Any) ; Entity position
\TourelleNode= CreateNode(#PB_Any, 0, 2.0, 0)
\CanonNode = CreateNode(#PB_Any, 0, 0.8, 0)
\ShootNode = CreateNode(#PB_Any, 0, 0.0, -8)
\SightNode = CreateNode(#PB_Any, 0, 2.0, -12) ; For cameraLookAt
\CameraNode = CreateNode(#PB_Any, 0, 6.0, 15) ; Camera position
\ForwardNode = CreateNode(#PB_Any, 0, 0.0, -1) ; Direction normalized
\SightNode1 = CreateNode(#PB_Any, 0, 1.0, 0) ; For cameraLookAt
\CameraNode1 = CreateNode(#PB_Any, 0, 1.0, 0) ; Camera1 position
AttachNodeObject(\MainNode, NodeID(\SightNode))
AttachNodeObject(\MainNode, NodeID(\TourelleNode))
AttachNodeObject(\MainNode, NodeID(\CameraNode))
AttachNodeObject(\MainNode, NodeID(\ForwardNode))
AttachNodeObject(\TourelleNode, NodeID(\CanonNode))
AttachNodeObject(\CanonNode , NodeID(\ShootNode))
AttachNodeObject(\CanonNode , NodeID(\CameraNode1))
AttachNodeObject(\ShootNode , NodeID(\SightNode1))
AttachNodeObject(\Mainnode , EntityID(1))
AttachNodeObject(\TourelleNode, EntityID(2))
AttachNodeObject(\CanonNode , EntityID(3))
AttachNodeObject(\CameraNode1 , CameraID(1))
EndWith
;-Main loop
;
Repeat
Screen3DEvents()
If Engine3DStatus(#PB_Engine3D_CurrentFPS)
Tank\elapsedTime = 40/Engine3DStatus(#PB_Engine3D_CurrentFPS)
EndIf
HandleEntity(@Tank)
ShootBullet()
CameraTrack(@Camera, @Tank)
CameraLookAt(1, NodeX(Tank\SightNode1), NodeY(Tank\SightNode1), NodeZ(Tank\SightNode1))
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
; EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End
Procedure CreatePyramide(Nb)
Define Ent, i, j
Define Size.f, SizeD.f
Size=1.5
SizeD = Size + 0.01
For j = 0 To Nb
For i= 0 To Nb-j
Ent = CreateEntity(#PB_Any, MeshID(1), MaterialID(6))
EntityPhysicBody(Ent, #PB_Entity_BoxBody, 0.1)
ScaleEntity(Ent, Size, Size, Size)
MoveEntity(Ent, j*(SizeD/2) + i * SizeD, (SizeD/2)+(j*SizeD), -20, #PB_Absolute)
Next i
Next j
EndProcedure
Procedure Normalize(*V.Vector3)
Define.f magSq, oneOverMag
magSq = *V\x * *V\x + *V\y * *V\y + *V\z * *V\z
If magsq > 0
oneOverMag = 1.0 / Sqr(magSq)
*V\x * oneOverMag
*V\y * oneOverMag
*V\z * oneOverMag
EndIf
EndProcedure
Procedure AddShoot(*Entity.s_Entity)
Define Bullet, Color = RGB(255, 0, 0)
Define.Vector3 PosCanon, PosShoot
Bullet = CreateEntity(#PB_Any, MeshID(2), MaterialID(1))
ScaleEntity(Bullet, 0.1, 0.1, 0.1)
EntityPhysicBody(Bullet, #PB_Entity_SphereBody, 0.7, 0.1, 0.1)
MoveEntity(Bullet, NodeX(*Entity\ShootNode), NodeY(*Entity\ShootNode), NodeZ(*Entity\ShootNode), #PB_Absolute)
AddElement(Bullets())
With Bullets()
\Bullet = Bullet
\numRibbon = CreateRibbonEffect(#PB_Any, MaterialID(7), 1, 80, 120);
RibbonEffectColor(\numRibbon, 0, RGBA(255, 50, 0, 255), RGBA(1, 5, 255, 5))
RibbonEffectWidth(\numRibbon, 0, 0.3, 1)
AttachRibbonEffect(\numRibbon, EntityParentNode(\Bullet))
GetNodePosition(PosCanon, *Entity\CanonNode)
GetNodePosition(PosShoot, *Entity\ShootNode)
SubVector3(\Direction, PosShoot, PosCanon)
Normalize(\Direction)
\Speed = 20
\Life = ElapsedMilliseconds()
ApplyEntityImpulse(\Bullet, \Direction\x * \Speed, \Direction\y * \Speed, \Direction\z * \Speed)
EndWith
EndProcedure
Procedure Shootbullet()
ForEach Bullets()
With Bullets()
If ElapsedMilliseconds()-Bullets()\Life>10000
If IsEntity(\Bullet)
FreeEntity(\Bullet)
FreeEffect(\numRibbon)
EndIf
DeleteElement(Bullets(), 1)
EndIf
EndWith
Next
EndProcedure
Procedure HandleEntity(*Entity.s_Entity)
Protected.Vector3 Forward, PosMain, PosDir
Protected Speed.f, Speed2.f, x.f, y.f
Protected MouseX.f, MouseY.f
Static Rot.Vector3, Trans.Vector3, Clic, AngleCanon.f, Time
With *Entity
GetNodePosition(PosMain, \MainNode)
GetNodePosition(PosDir, \ForwardNode)
SubVector3(Forward, PosDir, PosMain)
Speed = #PlayerSpeed * \elapsedTime
Speed2 = Speed / 2
If ExamineMouse()
MouseX = -(MouseDeltaX()/5) * \elapsedTime
MouseY = -(MouseDeltaY()/5) * \elapsedTime
AngleCanon + MouseY
If AngleCanon>45
AngleCanon = 45
ElseIf AngleCanon<-3
AngleCanon = -3
EndIf
If MouseButton(#PB_MouseButton_Left) And ElapsedMilliseconds()-Time > 500
Time = ElapsedMilliseconds()
AddShoot(*Entity)
EndIf
EndIf
If ExamineKeyboard()
If KeyboardReleased(#PB_Key_F5)
WorldDebug(#PB_World_DebugBody)
ElseIf KeyboardReleased(#PB_Key_F6)
WorldDebug(#PB_World_DebugEntity)
ElseIf KeyboardReleased(#PB_Key_F7)
WorldDebug(#PB_World_DebugNone)
EndIf
Rot\x * 0.30
Rot\y * 0.30
Rot\z * 0.30
Trans\x * 0.30
Trans\y = 0
Trans\z * 0.30
If KeyboardPushed(\Key\Up)
Trans\x + Forward\x * Speed
Trans\z + Forward\z * Speed
ElseIf KeyboardPushed(\Key\Down)
Trans\x + Forward\x * -Speed2
Trans\z + Forward\z * -Speed2
EndIf
If KeyboardPushed(\Key\Left)
Rot\y + 1.5 * \elapsedTime
ElseIf KeyboardPushed(\Key\Right)
Rot\y - 1.5 * \elapsedTime
EndIf
EndIf
MoveNode(\MainNode, Trans\x, Trans\y, Trans\z)
RotateNode(\MainNode, 0, Rot\y, 0, #PB_Relative)
RotateNode(\TourelleNode, 0, MouseX, 0, #PB_Relative)
RotateNode(\CanonNode, AngleCanon, 0, 0, #PB_Absolute)
EndWith
EndProcedure
Procedure CameraTrack(*Camera.s_Camera, *Entity.s_Entity)
Protected.Vector3 CameraPosition, TargetPosition
Protected.f x, y, z
GetNodePosition(CameraPosition, *Entity\CameraNode)
GetNodePosition(TargetPosition, *Entity\SightNode)
x = NodeX(*Camera\CameraNode)
y = NodeY(*Camera\CameraNode)
z = NodeZ(*Camera\CameraNode)
x = (CameraPosition\x - x) * *Camera\Tightness
y = (CameraPosition\y - y) * *Camera\Tightness
z = (CameraPosition\z - z) * *Camera\Tightness
MoveNode(*Camera\CameraNode, x, y, z)
x = NodeX(*Camera\TargetNode)
y = NodeY(*Camera\TargetNode)
z = NodeZ(*Camera\TargetNode)
x = (TargetPosition\x - x) * *Camera\Tightness
y = (TargetPosition\y - y) * *Camera\Tightness
z = (TargetPosition\z - z) * *Camera\Tightness
MoveNode(*Camera\TargetNode, x, y, z)
CameraLookAt(*Camera\Camera, NodeX(*Camera\TargetNode), NodeY(*Camera\TargetNode), NodeZ(*Camera\TargetNode))
EndProcedure
Code : Tout sélectionner
#WINDOW_Screen3DRequester = 0
#GADGET_FullScreen = 1
#GADGET_Windowed = 2
#GADGET_ScreenModesLabel = 3
#GADGET_WindowedModes = 4
#GADGET_Launch = 5
#GADGET_Cancel = 6
#GADGET_Logo = 7
#GADGET_Frame = 8
#GADGET_ScreenModes = 9
#GADGET_Antialiasing = 10
#GADGET_AntialiasingModes = 11
Global Screen3DRequester_FullScreen, Screen3DRequester_ShowStats
UsePNGImageDecoder()
Procedure Screen3DRequester()
OpenPreferences(GetHomeDirectory()+"PureBasicDemos3D.prefs")
FullScreen = ReadPreferenceLong ("FullScreen" , 0)
FullScreenMode$ = ReadPreferenceString("FullScreenMode" , "800x600")
WindowedScreenMode$ = ReadPreferenceString("WindowedScreenMode", "800x600")
AAMode = ReadPreferenceLong ("Antialiasing" , 0)
If ExamineDesktops()
ScreenX = DesktopWidth(0)
ScreenY = DesktopHeight(0)
ScreenD = DesktopDepth(0)
ScreenF = DesktopFrequency(0)
EndIf
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
GadgetHeight = 30
CompilerElse
GadgetHeight = 20
CompilerEndIf
If OpenWindow(#WINDOW_Screen3DRequester, 0, 0, 396, GadgetHeight*4 + 155, "PureBasic - 3D Demos", #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_Invisible)
Top = 6
ImageGadget (#GADGET_Logo, 6, Top, 0, 0, LoadImage(0,#PB_Compiler_Home+"examples/3d/Data/PureBasic3DLogo.png"), #PB_Image_Border) : Top+76
FrameGadget(#GADGET_Frame, 6, Top, 384, GadgetHeight*3 +45, "", 0) : Top+20
OptionGadget(#GADGET_FullScreen, 40, Top, 130, GadgetHeight, "Fullscreen") : Top+GadgetHeight+5
OptionGadget(#GADGET_Windowed , 40, Top, 130, GadgetHeight, "Windowed") : Top+GadgetHeight+5
TextGadget(#GADGET_Antialiasing, 40, Top+5, 130, GadgetHeight, "Antialiasing mode") : Top - ((GadgetHeight+5) * 2)
ComboBoxGadget (#GADGET_ScreenModes , 190, Top, 150, GadgetHeight+1) : Top+GadgetHeight+5
ComboBoxGadget (#GADGET_WindowedModes, 190, Top, 150, GadgetHeight+1) : Top+GadgetHeight+5
ComboBoxGadget (#GADGET_AntialiasingModes, 190, Top, 150, GadgetHeight+1) : Top+GadgetHeight+25
ButtonGadget (#GADGET_Launch, 6, Top, 180, GadgetHeight+5, "Launch", #PB_Button_Default)
ButtonGadget (#GADGET_Cancel, 200, Top, 190, GadgetHeight+5, "Cancel")
AddGadgetItem(#GADGET_AntialiasingModes,-1,"None")
AddGadgetItem(#GADGET_AntialiasingModes,-1,"FSAA x2")
AddGadgetItem(#GADGET_AntialiasingModes,-1,"FSAA x4")
AddGadgetItem(#GADGET_AntialiasingModes,-1,"FSAA x6")
SetGadgetState(#GADGET_AntialiasingModes,AAMode)
If ExamineScreenModes()
Position = 0
While NextScreenMode()
Position + 1
Width = ScreenModeWidth()
Height = ScreenModeHeight()
Depth = ScreenModeDepth()
RefreshRate = ScreenModeRefreshRate()
If Depth > 8
AddGadgetItem(#GADGET_ScreenModes, -1, Str(Width)+"x"+Str(Height)+"x"+Str(Depth)+"@"+Str(RefreshRate))
If ScreenX = Width And ScreenY = Height And ScreenD = Depth And ScreenF = RefreshRate
SetGadgetState(#GADGET_ScreenModes, Position)
FullScreenMode$ = Str(Width)+"x"+Str(Height)+"x"+Str(Depth)+"@"+Str(RefreshRate)
EndIf
EndIf
Wend
EndIf
ExamineDesktops()
NbScreenModes = 7
Restore WindowedScreenDimensions
Repeat
Read.l CurrentWidth
Read.l CurrentHeight
If CurrentWidth < DesktopWidth(0) And CurrentHeight < DesktopHeight(0)
AddGadgetItem(#GADGET_WindowedModes, -1, Str(CurrentWidth)+ "x"+Str(CurrentHeight))
NbScreenModes - 1
Else
NbScreenModes = 0
EndIf
Until NbScreenModes = 0
If FullScreen
SetGadgetState(#GADGET_FullScreen, 1)
Else
SetGadgetState(#GADGET_Windowed , 1)
EndIf
SetGadgetText (#GADGET_ScreenModes , FullScreenMode$)
SetGadgetText (#GADGET_WindowedModes, WindowedScreenMode$)
DisableGadget (#GADGET_ScreenModes , 1-FullScreen)
DisableGadget (#GADGET_WindowedModes, FullScreen)
HideWindow(#WINDOW_Screen3DRequester, 0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #GADGET_Launch
Quit = 2
Case #GADGET_Cancel
Quit = 1
Case #GADGET_FullScreen
DisableGadget(#GADGET_ScreenModes , 0)
DisableGadget(#GADGET_WindowedModes, 1)
Case #GADGET_Windowed
DisableGadget(#GADGET_ScreenModes , 1)
DisableGadget(#GADGET_WindowedModes, 0)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit > 0
FullScreen = GetGadgetState(#GADGET_FullScreen)
FullScreenMode$ = GetGadgetText (#GADGET_ScreenModes)
WindowedScreenMode$ = GetGadgetText (#GADGET_WindowedModes)
AAMode = GetGadgetState(#GADGET_AntialiasingModes)
CloseWindow(#WINDOW_Screen3DRequester)
EndIf
If Quit = 2 ; Launch button has been pressed
CreatePreferences(GetHomeDirectory()+"PureBasicDemos3D.prefs")
WritePreferenceLong ("FullScreen" , FullScreen)
WritePreferenceString("FullScreenMode" , FullScreenMode$)
WritePreferenceString("WindowedScreenMode", WindowedScreenMode$)
WritePreferenceLong ("Antialiasing" , AAMode)
If FullScreen
ScreenMode$ = FullScreenMode$
Else
ScreenMode$ = WindowedScreenMode$
EndIf
RefreshRate = Val(StringField(ScreenMode$, 2, "@"))
ScreenMode$ = StringField(ScreenMode$, 1, "@") ; Remove the refresh rate info, so we can parse it easily
ScreenWidth = Val(StringField(ScreenMode$, 1, "x"))
ScreenHeight = Val(StringField(ScreenMode$, 2, "x"))
ScreenDepth = Val(StringField(ScreenMode$, 3, "x"))
Screen3DRequester_FullScreen = FullScreen ; Global variable, for the Screen3DEvents
Select AAMode
Case 0:
AntialiasingMode(#PB_AntialiasingMode_None)
Case 1:
AntialiasingMode(#PB_AntialiasingMode_x2)
Case 2:
AntialiasingMode(#PB_AntialiasingMode_x4)
Case 3:
AntialiasingMode(#PB_AntialiasingMode_x6)
EndSelect
If FullScreen
Result = OpenScreen(ScreenWidth, ScreenHeight, ScreenDepth, "3D Demos", #PB_Screen_WaitSynchronization, RefreshRate)
Else
If OpenWindow(0, 0, 0, ScreenWidth, ScreenHeight+MenuHeight(), "PureBasic - 3D Demos", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateMenu(0, WindowID(#WINDOW_Screen3DRequester))
MenuTitle("Project")
MenuItem(0, "Quit")
MenuTitle("About")
MenuItem(1, "About...")
Result = OpenWindowedScreen(WindowID(#WINDOW_Screen3DRequester), 0, 0, ScreenWidth, ScreenHeight, 0, 0, 0)
EndIf
EndIf
EndIf
ProcedureReturn Result
EndProcedure
Procedure Screen3DEvents()
If Screen3DRequester_FullScreen = 0 ; Handle all the events relatives to the window..
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_Menu
Select EventMenu()
Case 0
Quit = 1
Case 2
MessageRequester("Info", "Windowed 3D in PureBasic !", 0)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
If Quit = 1 : End : EndIf ; Quit the app immediately
Until Event = 0
EndIf
If ExamineKeyboard()
If KeyboardReleased(#PB_Key_F1)
Screen3DRequester_ShowStats = 1-Screen3DRequester_ShowStats ; Switch the ShowStats on/off
EndIf
EndIf
EndProcedure
Procedure Screen3DStats()
If Screen3DRequester_ShowStats
; Nothing printed for now
EndIf
EndProcedure
DataSection
WindowedScreenDimensions:
Data.l 320, 240
Data.l 512, 384
Data.l 640, 480
Data.l 800, 600
Data.l 1024, 768
Data.l 1280, 1024
Data.l 1600, 1200
EndDataSection
Re: PureBasic et Windows 10.
salut, et bienvenue.
Screen3DRequester()
cette fonction permet de choisir entre le mode fenêtré ou plein écran, si tu commente cette ligne, tu n'ouvre jamais de fenêtre et le code plante.
Pat
Code : Tout sélectionner
If InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
;If Screen3DRequester()
cette fonction permet de choisir entre le mode fenêtré ou plein écran, si tu commente cette ligne, tu n'ouvre jamais de fenêtre et le code plante.
Pat
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows 10.
Bonjour Patrick.Patrick88 a écrit :Screen3DRequester()
cette fonction permet de choisir entre le mode fenêtré ou plein écran, si tu commente cette ligne, tu n'ouvre jamais de fenêtre et le code plante.
■ Si pierre n'utilises pas l'include Screen3DRequester.pb, il n'aura pas non plus de fenetre 3D et son code ne fonctionnera pas.
l'include Screen3DRequester.pb s'occupant de l'initialisation de l'environnement Ogre 3D il ne fallait pas effectivement insérer ce code
Code : Tout sélectionner
Resultat=InitEngine3D()
Resultat = InitSprite()
Resultat=OpenScreen(800,600,32,"Exemple OpenScreen")
Tu avais bien commencé Pierre. Mais il fallait enlever l'instruction
Code : Tout sélectionner
IncludeFile #PB_Compiler_Home + "examples/3d/Screen3DRequester.pb"
Code : Tout sélectionner
Screen3DEvents()
Code : Tout sélectionner
Resultat=InitEngine3D()
Resultat = InitSprite()
Resultat=OpenScreen(800,600,32,"Exemple OpenScreen")
#PB_Material_AmbientColor = 2
#PlayerSpeed = 0.4
#CameraSpeed = 1
Structure Vector3
x.f
y.f
z.f
EndStructure
Structure s_Key
Up.i
Down.i
Left.i
Right.i
EndStructure
Structure s_Entity
elapsedTime.f
Key.s_Key
MainNode.i
TourelleNode.i
CanonNode.i
ShootNode.i
ForwardNode.i
SightNode.i
CameraNode.i
SightNode1.i
CameraNode1.i
EndStructure
Structure s_Camera
Camera.i
Tightness.f
CameraNode.i
TargetNode.i
EndStructure
Structure Bullet
Bullet.i
numRibbon.i
timer.f
Direction.Vector3
Speed.f
Life.l
EndStructure
Macro GetNodePosition(Position, Node)
Position\x = NodeX(Node)
Position\y = NodeY(Node)
Position\z = NodeZ(Node)
EndMacro
Macro SubVector3(V, V1, V2)
V\x = V1\x - V2\x
V\y = V1\y - V2\y
V\z = V1\z - V2\z
EndMacro
;-Declare
Declare HandleEntity(*Entity.s_Entity)
Declare CameraTrack(*Camera.s_Camera, *Entity.s_Entity)
Declare CreatePyramide(Nb.i)
Declare Shootbullet()
;-Variables
Define Tank.s_Entity
Define Camera.s_Camera
Global NewList Bullets.Bullet()
If InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
;If Screen3DRequester()
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures" , #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Scripts" , #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Packs/desert.zip", #PB_3DArchive_Zip)
Parse3DScripts()
WorldShadows(#PB_Shadow_Modulative, 500)
;Texture
CreateTexture(0,128, 128)
StartDrawing(TextureOutput(0))
Box(0, 0, 128, 128, RGB(255, 255, 255))
StopDrawing()
; Ribbon texture
CreateTexture(1,128, 1)
StartDrawing(TextureOutput(1))
DrawingMode(#PB_2DDrawing_Gradient)
BackColor(0)
GradientColor(0.5, RGB(255, 255, 255))
FrontColor(0)
LinearGradient(0, 0, 128, 0)
Box(0, 0, 128, 1)
StopDrawing()
;-Material
;Tank
CreateMaterial(0, LoadTexture(3, "RustySteel.jpg"))
;Bullet
CreateMaterial(1, TextureID(0))
SetMaterialColor(1, #PB_Material_AmbientColor, RGB(255, 0, 0))
;Sol
GetScriptMaterial(5, "Scene/GroundBlend")
;Pyramide
CreateMaterial(6, LoadTexture(6, "Caisse.png"))
;Ribbon
GetScriptMaterial(7, "Examples/LightRibbonTrail")
;Ground
CreatePlane(0, 100, 100, 10, 10, 10, 10)
CreateEntity(0, MeshID(0), MaterialID(5), 0, 0, 0)
EntityRenderMode(0, 0) ; Disable shadow casting for this entity as it's our plan
EntityPhysicBody(0, #PB_Entity_StaticBody)
; Mesh
CreateCube(1, 1)
CreateSphere(2, 1.5)
CreateCylinder(3, 0.5, 8)
;-Corps
CreateEntity(1, MeshID(1), MaterialID(0))
ScaleEntity(1, 4, 2, 8)
MoveEntity(1, 0, 1, 0)
;-Tourelle
CreateEntity(2, MeshID(2), MaterialID(0))
EntityRenderMode(2, 0)
;-Canon
CreateEntity(3, MeshID(3), MaterialID(0))
RotateEntity(3, 90, 0, 0)
MoveEntity(3, 0, 0.0, -4)
;-Create Pyramide
CreatePyramide(8)
;-Light
CreateLight(0,RGB(125, 125, 125), 100, 500, 250)
AmbientColor(RGB(95, 95, 95))
;-Fog
Fog(RGB(128, 128, 128), 1, 0, 10000)
;-Skybox
SkyBox("desert07.jpg")
;-Camera
CreateCamera(0, 0, 0, 100, 100)
CameraFOV(0, 40)
With Camera
\Camera = 0
\Tightness = 0.035
; Camera use 2 nodes
\CameraNode = CreateNode(#PB_Any, 0, 700, 300) ; Camera position
\TargetNode = CreateNode(#PB_Any) ; For cameraLookAt
AttachNodeObject(\CameraNode, CameraID(\Camera))
EndWith
CreateCamera(1, 0.1, 67, 33, 33)
CameraFOV(1, 25)
With Tank
\Key\Down = #PB_Key_Down
\Key\Left = #PB_Key_Left
\Key\Right = #PB_Key_Right
\Key\Up = #PB_Key_Up
\MainNode = CreateNode(#PB_Any) ; Entity position
\TourelleNode= CreateNode(#PB_Any, 0, 2.0, 0)
\CanonNode = CreateNode(#PB_Any, 0, 0.8, 0)
\ShootNode = CreateNode(#PB_Any, 0, 0.0, -8)
\SightNode = CreateNode(#PB_Any, 0, 2.0, -12) ; For cameraLookAt
\CameraNode = CreateNode(#PB_Any, 0, 6.0, 15) ; Camera position
\ForwardNode = CreateNode(#PB_Any, 0, 0.0, -1) ; Direction normalized
\SightNode1 = CreateNode(#PB_Any, 0, 1.0, 0) ; For cameraLookAt
\CameraNode1 = CreateNode(#PB_Any, 0, 1.0, 0) ; Camera1 position
AttachNodeObject(\MainNode, NodeID(\SightNode))
AttachNodeObject(\MainNode, NodeID(\TourelleNode))
AttachNodeObject(\MainNode, NodeID(\CameraNode))
AttachNodeObject(\MainNode, NodeID(\ForwardNode))
AttachNodeObject(\TourelleNode, NodeID(\CanonNode))
AttachNodeObject(\CanonNode , NodeID(\ShootNode))
AttachNodeObject(\CanonNode , NodeID(\CameraNode1))
AttachNodeObject(\ShootNode , NodeID(\SightNode1))
AttachNodeObject(\Mainnode , EntityID(1))
AttachNodeObject(\TourelleNode, EntityID(2))
AttachNodeObject(\CanonNode , EntityID(3))
AttachNodeObject(\CameraNode1 , CameraID(1))
EndWith
;-Main loop
;
Repeat
If Engine3DStatus(#PB_Engine3D_CurrentFPS)
Tank\elapsedTime = 40/Engine3DStatus(#PB_Engine3D_CurrentFPS)
EndIf
HandleEntity(@Tank)
ShootBullet()
CameraTrack(@Camera, @Tank)
CameraLookAt(1, NodeX(Tank\SightNode1), NodeY(Tank\SightNode1), NodeZ(Tank\SightNode1))
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
; EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End
Procedure CreatePyramide(Nb)
Define Ent, i, j
Define Size.f, SizeD.f
Size=1.5
SizeD = Size + 0.01
For j = 0 To Nb
For i= 0 To Nb-j
Ent = CreateEntity(#PB_Any, MeshID(1), MaterialID(6))
EntityPhysicBody(Ent, #PB_Entity_BoxBody, 0.1)
ScaleEntity(Ent, Size, Size, Size)
MoveEntity(Ent, j*(SizeD/2) + i * SizeD, (SizeD/2)+(j*SizeD), -20, #PB_Absolute)
Next i
Next j
EndProcedure
Procedure Normalize(*V.Vector3)
Define.f magSq, oneOverMag
magSq = *V\x * *V\x + *V\y * *V\y + *V\z * *V\z
If magsq > 0
oneOverMag = 1.0 / Sqr(magSq)
*V\x * oneOverMag
*V\y * oneOverMag
*V\z * oneOverMag
EndIf
EndProcedure
Procedure AddShoot(*Entity.s_Entity)
Define Bullet, Color = RGB(255, 0, 0)
Define.Vector3 PosCanon, PosShoot
Bullet = CreateEntity(#PB_Any, MeshID(2), MaterialID(1))
ScaleEntity(Bullet, 0.1, 0.1, 0.1)
EntityPhysicBody(Bullet, #PB_Entity_SphereBody, 0.7, 0.1, 0.1)
MoveEntity(Bullet, NodeX(*Entity\ShootNode), NodeY(*Entity\ShootNode), NodeZ(*Entity\ShootNode), #PB_Absolute)
AddElement(Bullets())
With Bullets()
\Bullet = Bullet
\numRibbon = CreateRibbonEffect(#PB_Any, MaterialID(7), 1, 80, 120);
RibbonEffectColor(\numRibbon, 0, RGBA(255, 50, 0, 255), RGBA(1, 5, 255, 5))
RibbonEffectWidth(\numRibbon, 0, 0.3, 1)
AttachRibbonEffect(\numRibbon, EntityParentNode(\Bullet))
GetNodePosition(PosCanon, *Entity\CanonNode)
GetNodePosition(PosShoot, *Entity\ShootNode)
SubVector3(\Direction, PosShoot, PosCanon)
Normalize(\Direction)
\Speed = 20
\Life = ElapsedMilliseconds()
ApplyEntityImpulse(\Bullet, \Direction\x * \Speed, \Direction\y * \Speed, \Direction\z * \Speed)
EndWith
EndProcedure
Procedure Shootbullet()
ForEach Bullets()
With Bullets()
If ElapsedMilliseconds()-Bullets()\Life>10000
If IsEntity(\Bullet)
FreeEntity(\Bullet)
FreeEffect(\numRibbon)
EndIf
DeleteElement(Bullets(), 1)
EndIf
EndWith
Next
EndProcedure
Procedure HandleEntity(*Entity.s_Entity)
Protected.Vector3 Forward, PosMain, PosDir
Protected Speed.f, Speed2.f, x.f, y.f
Protected MouseX.f, MouseY.f
Static Rot.Vector3, Trans.Vector3, Clic, AngleCanon.f, Time
With *Entity
GetNodePosition(PosMain, \MainNode)
GetNodePosition(PosDir, \ForwardNode)
SubVector3(Forward, PosDir, PosMain)
Speed = #PlayerSpeed * \elapsedTime
Speed2 = Speed / 2
If ExamineMouse()
MouseX = -(MouseDeltaX()/5) * \elapsedTime
MouseY = -(MouseDeltaY()/5) * \elapsedTime
AngleCanon + MouseY
If AngleCanon>45
AngleCanon = 45
ElseIf AngleCanon<-3
AngleCanon = -3
EndIf
If MouseButton(#PB_MouseButton_Left) And ElapsedMilliseconds()-Time > 500
Time = ElapsedMilliseconds()
AddShoot(*Entity)
EndIf
EndIf
If ExamineKeyboard()
If KeyboardReleased(#PB_Key_F5)
WorldDebug(#PB_World_DebugBody)
ElseIf KeyboardReleased(#PB_Key_F6)
WorldDebug(#PB_World_DebugEntity)
ElseIf KeyboardReleased(#PB_Key_F7)
WorldDebug(#PB_World_DebugNone)
EndIf
Rot\x * 0.30
Rot\y * 0.30
Rot\z * 0.30
Trans\x * 0.30
Trans\y = 0
Trans\z * 0.30
If KeyboardPushed(\Key\Up)
Trans\x + Forward\x * Speed
Trans\z + Forward\z * Speed
ElseIf KeyboardPushed(\Key\Down)
Trans\x + Forward\x * -Speed2
Trans\z + Forward\z * -Speed2
EndIf
If KeyboardPushed(\Key\Left)
Rot\y + 1.5 * \elapsedTime
ElseIf KeyboardPushed(\Key\Right)
Rot\y - 1.5 * \elapsedTime
EndIf
EndIf
MoveNode(\MainNode, Trans\x, Trans\y, Trans\z)
RotateNode(\MainNode, 0, Rot\y, 0, #PB_Relative)
RotateNode(\TourelleNode, 0, MouseX, 0, #PB_Relative)
RotateNode(\CanonNode, AngleCanon, 0, 0, #PB_Absolute)
EndWith
EndProcedure
Procedure CameraTrack(*Camera.s_Camera, *Entity.s_Entity)
Protected.Vector3 CameraPosition, TargetPosition
Protected.f x, y, z
GetNodePosition(CameraPosition, *Entity\CameraNode)
GetNodePosition(TargetPosition, *Entity\SightNode)
x = NodeX(*Camera\CameraNode)
y = NodeY(*Camera\CameraNode)
z = NodeZ(*Camera\CameraNode)
x = (CameraPosition\x - x) * *Camera\Tightness
y = (CameraPosition\y - y) * *Camera\Tightness
z = (CameraPosition\z - z) * *Camera\Tightness
MoveNode(*Camera\CameraNode, x, y, z)
x = NodeX(*Camera\TargetNode)
y = NodeY(*Camera\TargetNode)
z = NodeZ(*Camera\TargetNode)
x = (TargetPosition\x - x) * *Camera\Tightness
y = (TargetPosition\y - y) * *Camera\Tightness
z = (TargetPosition\z - z) * *Camera\Tightness
MoveNode(*Camera\TargetNode, x, y, z)
CameraLookAt(*Camera\Camera, NodeX(*Camera\TargetNode), NodeY(*Camera\TargetNode), NodeZ(*Camera\TargetNode))
EndProcedure

Corrige par exemple
Code : Tout sélectionner
Resultat=OpenScreen(800,600,32,"Exemple OpenScreen")
Code : Tout sélectionner
Resultat=OpenScreen(1024,768,32,"Exemple OpenScreen")

Amuse toi bien

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: PureBasic et Windows 10.
Bonjour.
Et voilà que maintenant, j'obtiens un écran tout noir avec le code que falsam me propose juste ci-dessus !!
Cela commence vraiment très mal pour mes débuts avec PB !
Merci de votre aide.
Win 10
PB 5.31
Et voilà que maintenant, j'obtiens un écran tout noir avec le code que falsam me propose juste ci-dessus !!
Cela commence vraiment très mal pour mes débuts avec PB !
Merci de votre aide.
Win 10
PB 5.31
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows 10.
Dans le doute j'ai à nouveau tester sous windows 10 le code que j'ai proposé et je n'ai pas d'écran noir qui s'affiche.pierre59 a écrit :Et voilà que maintenant, j'obtiens un écran tout noir avec le code que falsam me propose juste ci-dessus !!
Si quelqu'un d'autres peut faire un test ? merci

Mais non ça va aller. Je ne connais pas ton niveau de programmation. Peut être que tu pourrais commencé doucement dans la 3D ?pierre59 a écrit :Cela commence vraiment très mal pour mes débuts avec PB !
Regarde ce tutoriel consacré à la 3D: http://www.purebasic.fr/french/viewtopi ... 13&t=13747
Pourrais tu nous dire quel numéro de version de PB tu utilises ? Demo ou pas Demo ?
Enregistre ce code dans un dossier et exécutes le.

Code : Tout sélectionner
Enumeration
#Mainform
EndEnumeration
Global x.f, y.f, z.f
Declare GameStart(Width, Height)
Declare GameEnd()
GameStart(1024, 768)
Procedure GameStart(Width, Height)
InitEngine3D(#PB_Engine3D_DebugLog) : InitKeyboard() : InitSprite() : InitMouse()
OpenWindow(#Mainform,0, 0, Width, Height, "Ogre 3D Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
BindEvent(#PB_Event_CloseWindow, @GameEnd())
OpenWindowedScreen(WindowID(#Mainform), 0, 0, Width, Height)
;Light & Shadow
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -5, 10, 5)
;Camera
CreateCamera(0, 0, 0,100,100)
CameraBackColor(0, RGB(145, 182, 201))
MoveCamera(0, 0, 5, 10, #PB_Absolute)
CameraLookAt(0, 0,0,0)
Mesh = CreateCube(-1, 2)
Entity = CreateEntity(-1, MeshID(Mesh), #PB_Material_None)
Repeat
Repeat : Until WindowEvent() = 0
If ExamineKeyboard()
If KeyboardPushed (#PB_Key_Escape)
GameEnd()
EndIf
EndIf
RotateEntity(Entity, 0.2, 0.2, 0.2, #PB_Relative)
RenderWorld()
FlipBuffers()
ForEver
EndProcedure
Procedure GameEnd()
End
EndProcedure
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: PureBasic et Windows 10.
Tes désirs sont des ordresFalsam a écrit :Si quelqu'un d'autres peut faire un test ? merci![]()

Sitôt demandé, sitôt effectué

Ecran noir, bruit pas content et plantage avec mon ROG tout neuf W10 et la v5.40 LTS (X86)
compilateur pas content a écrit :[COMPILATEUR] Fichier:
[COMPILATEUR] Ligne 126: Avertissement: La fonction 'EntityPhysicBody()' est obsolete.
[COMPILATEUR] Fichier:
[COMPILATEUR] Ligne 246: Avertissement: La fonction 'EntityPhysicBody2()' est obsolete.
[COMPILATEUR] Fichier:
[COMPILATEUR] Ligne 271: Avertissement: La fonction 'EntityPhysicBody3()' est obsolete.
Compilation terminée avec 3 avertissement(s).
Attente du démarrage du programme...
Type d'exécutable: Windows - x86 (32bit)
Exécutable démarré.
L'exécutable de débogage se ferme de façon inattendue.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows 10.
Merci Kwai chang caine.
Pourrais tu exécuter le code de test ? En principe tu as un fichier Ogre.log. Pourrais tu en faire une copie ?
Pourrais tu exécuter le code de test ? En principe tu as un fichier Ogre.log. Pourrais tu en faire une copie ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: PureBasic et Windows 10.
Tes désirs sont toujours des ordres MAITRE

Tu viens d'épuiser ton 2e vœux, ali baba
Alors..

Tu viens d'épuiser ton 2e vœux, ali baba

Alors..
Ah non, ça c'est ma liste de corvées de ce week-endSortir le chien
Brosser la moquette
Acheter une brosse avant
s'occuper de bobonne


[/quote]l'ogre a écrit :17:49:11: Creating resource group General
17:49:11: Creating resource group Internal
17:49:11: Creating resource group Autodetect
17:49:11: SceneManagerFactory for type 'DefaultSceneManager' registered.
17:49:11: Registering ResourceManager for type Material
17:49:11: Registering ResourceManager for type Mesh
17:49:11: Registering ResourceManager for type Skeleton
17:49:11: MovableObjectFactory for type 'ParticleSystem' registered.
17:49:11: OverlayElementFactory for type Panel registered.
17:49:11: OverlayElementFactory for type BorderPanel registered.
17:49:11: OverlayElementFactory for type TextArea registered.
17:49:11: Registering ResourceManager for type Font
17:49:11: ArchiveFactory for archive type FileSystem registered.
17:49:11: ArchiveFactory for archive type Zip registered.
17:49:11: ArchiveFactory for archive type EmbeddedZip registered.
17:49:11: DDS codec registering
17:49:11: FreeImage version: 3.10.0
17:49:11: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
17:49:11: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,koa,iff,lbm,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,dds,gif,g3,sgi,j2k,j2c,jp2
17:49:11: PVRTC codec registering
17:49:11: Registering ResourceManager for type HighLevelGpuProgram
17:49:11: Registering ResourceManager for type Compositor
17:49:11: MovableObjectFactory for type 'Entity' registered.
17:49:11: MovableObjectFactory for type 'Light' registered.
17:49:11: MovableObjectFactory for type 'BillboardSet' registered.
17:49:11: MovableObjectFactory for type 'ManualObject' registered.
17:49:11: MovableObjectFactory for type 'BillboardChain' registered.
17:49:11: MovableObjectFactory for type 'RibbonTrail' registered.
17:49:11: *-*-* OGRE Initialising
17:49:11: *-*-* Version 1.8.2 (Byatis)
17:49:11: D3D9 : Direct3D9 Rendering Subsystem created.
17:49:11: D3D9: Driver Detection Starts
17:49:11: D3D9: Driver Detection Ends
17:49:11: Particle Emitter Type 'Point' registered
17:49:11: Particle Emitter Type 'Box' registered
17:49:11: Particle Emitter Type 'Ellipsoid' registered
17:49:11: Particle Emitter Type 'Cylinder' registered
17:49:11: Particle Emitter Type 'Ring' registered
17:49:11: Particle Emitter Type 'HollowEllipsoid' registered
17:49:11: Particle Affector Type 'LinearForce' registered
17:49:11: Particle Affector Type 'ColourFader' registered
17:49:11: Particle Affector Type 'ColourFader2' registered
17:49:11: Particle Affector Type 'ColourImage' registered
17:49:11: Particle Affector Type 'ColourInterpolator' registered
17:49:11: Particle Affector Type 'Scaler' registered
17:49:11: Particle Affector Type 'Rotator' registered
17:49:11: Particle Affector Type 'DirectionRandomiser' registered
17:49:11: Particle Affector Type 'DeflectorPlane' registered
17:49:11: PCZone Factory Type 'ZoneType_Default' registered
17:49:11: CPU Identifier & Features
17:49:11: -------------------------
17:49:11: * CPU ID: GenuineIntel: Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
17:49:11: * SSE: yes
17:49:11: * SSE2: yes
17:49:11: * SSE3: yes
17:49:11: * MMX: yes
17:49:11: * MMXEXT: yes
17:49:11: * 3DNOW: no
17:49:11: * 3DNOWEXT: no
17:49:11: * CMOV: yes
17:49:11: * TSC: yes
17:49:11: * FPU: yes
17:49:11: * PRO: yes
17:49:11: * HT: no
17:49:11: -------------------------
17:49:11: D3D9 : Subsystem Initialising
17:49:11: Registering ResourceManager for type Texture
17:49:11: Registering ResourceManager for type GpuProgram
17:49:11: ***************************************
17:49:11: *** D3D9 : Subsystem Initialised OK ***
17:49:11: ***************************************
17:49:11: SceneManagerFactory for type 'OctreeSceneManager' registered.
17:49:11: SceneManagerFactory for type 'BspSceneManager' registered.
17:49:11: Registering ResourceManager for type BspLevel
17:49:11: D3D9RenderSystem::_createRenderWindow "PureBasic Ogre", 1024x768 windowed miscParams: FSAA=0 displayFrequency=0 externalWindowHandle=657440 vsync=true
17:49:11: D3D9 : Created D3D9 Rendering Window 'PureBasic Ogre' : 1024x768, 32bpp
17:49:11: D3D9: Vertex texture format supported - PF_L8
17:49:11: D3D9: Vertex texture format supported - PF_L16
17:49:11: D3D9: Vertex texture format supported - PF_A8
17:49:11: D3D9: Vertex texture format supported - PF_A4L4
17:49:11: D3D9: Vertex texture format supported - PF_BYTE_LA
17:49:11: D3D9: Vertex texture format supported - PF_R5G6B5
17:49:11: D3D9: Vertex texture format supported - PF_B5G6R5
17:49:11: D3D9: Vertex texture format supported - PF_A4R4G4B4
17:49:11: D3D9: Vertex texture format supported - PF_A1R5G5B5
17:49:11: D3D9: Vertex texture format supported - PF_A8R8G8B8
17:49:11: D3D9: Vertex texture format supported - PF_B8G8R8A8
17:49:11: D3D9: Vertex texture format supported - PF_A2R10G10B10
17:49:11: D3D9: Vertex texture format supported - PF_A2B10G10R10
17:49:11: D3D9: Vertex texture format supported - PF_DXT1
17:49:11: D3D9: Vertex texture format supported - PF_DXT2
17:49:11: D3D9: Vertex texture format supported - PF_DXT3
17:49:11: D3D9: Vertex texture format supported - PF_DXT4
17:49:11: D3D9: Vertex texture format supported - PF_DXT5
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT16_RGB
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT16_RGBA
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT32_RGB
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT32_RGBA
17:49:11: D3D9: Vertex texture format supported - PF_X8R8G8B8
17:49:11: D3D9: Vertex texture format supported - PF_R8G8B8A8
17:49:11: D3D9: Vertex texture format supported - PF_DEPTH
17:49:11: D3D9: Vertex texture format supported - PF_SHORT_RGBA
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT16_R
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT32_R
17:49:11: D3D9: Vertex texture format supported - PF_SHORT_GR
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT16_GR
17:49:11: D3D9: Vertex texture format supported - PF_FLOAT32_GR
17:49:11: D3D9: Vertex texture format supported - PF_SHORT_RGB
17:49:11: D3D9: Vertex texture format supported - PF_PVRTC_RGB2
17:49:11: D3D9: Vertex texture format supported - PF_PVRTC_RGBA2
17:49:11: D3D9: Vertex texture format supported - PF_PVRTC_RGB4
17:49:11: D3D9: Vertex texture format supported - PF_PVRTC_RGBA4
17:49:11: D3D9: Vertex texture format supported - PF_R8
17:49:11: D3D9: Vertex texture format supported - PF_RG8
17:49:11: RenderSystem capabilities
17:49:11: -------------------------
17:49:11: RenderSystem Name: Direct3D9 Rendering Subsystem
17:49:11: GPU Vendor: intel
17:49:11: Device Name: Monitor-1-Intel(R) HD Graphics 4600
17:49:11: Driver Version: 10.18.15.4256
17:49:11: * Fixed function pipeline: yes
17:49:11: * Hardware generation of mipmaps: yes
17:49:11: * Texture blending: yes
17:49:11: * Anisotropic texture filtering: yes
17:49:11: * Dot product texture operation: yes
17:49:11: * Cube mapping: yes
17:49:11: * Hardware stencil buffer: yes
17:49:11: - Stencil depth: 8
17:49:11: - Two sided stencil support: yes
17:49:11: - Wrap stencil values: yes
17:49:11: * Hardware vertex / index buffers: yes
17:49:11: * Vertex programs: yes
17:49:11: * Number of floating-point constants for vertex programs: 256
17:49:11: * Number of integer constants for vertex programs: 16
17:49:11: * Number of boolean constants for vertex programs: 16
17:49:11: * Fragment programs: yes
17:49:11: * Number of floating-point constants for fragment programs: 224
17:49:11: * Number of integer constants for fragment programs: 16
17:49:11: * Number of boolean constants for fragment programs: 16
17:49:11: * Geometry programs: no
17:49:11: * Number of floating-point constants for geometry programs: 0
17:49:11: * Number of integer constants for geometry programs: 0
17:49:11: * Number of boolean constants for geometry programs: 0
17:49:11: * Supported Shader Profiles: hlsl ps_1_1 ps_1_2 ps_1_3 ps_1_4 ps_2_0 ps_2_a ps_2_b ps_2_x ps_3_0 vs_1_1 vs_2_0 vs_2_a vs_2_x vs_3_0
17:49:11: * Texture Compression: yes
17:49:11: - DXT: yes
17:49:11: - VTC: no
17:49:11: - PVRTC: no
17:49:11: * Scissor Rectangle: yes
17:49:11: * Hardware Occlusion Query: yes
17:49:11: * User clip planes: yes
17:49:11: * VET_UBYTE4 vertex element type: yes
17:49:11: * Infinite far plane projection: yes
17:49:11: * Hardware render-to-texture: yes
17:49:11: * Floating point textures: yes
17:49:11: * Non-power-of-two textures: yes
17:49:11: * Volume textures: yes
17:49:11: * Multiple Render Targets: 4
17:49:11: - With different bit depths: yes
17:49:11: * Point Sprites: yes
17:49:11: * Extended point parameters: yes
17:49:11: * Max Point Size: 256
17:49:11: * Vertex texture fetch: yes
17:49:11: * Number of world matrices: 0
17:49:11: * Number of texture units: 8
17:49:11: * Stencil buffer depth: 8
17:49:11: * Number of vertex blend matrices: 0
17:49:11: - Max vertex textures: 4
17:49:11: - Vertex textures shared: no
17:49:11: * Render to Vertex Buffer : no
17:49:11: * DirectX per stage constants: yes
17:49:11: DefaultWorkQueue('Root') initialising on thread main.
17:49:11: Particle Renderer Type 'billboard' registered
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows 10.
Merci encore une fois Kwai chang caine. Rien d'anormal dans ce log !!
Tu as pu voir le cube en rotation ?
Tu as pu voir le cube en rotation ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: PureBasic et Windows 10.
Bonsoir falsam
j'ai testé ton premier code ( celui avec le char on dois detruire une pyramide en cube ) et il marche trés bien avec Purebasic 5.40 sous windows 10
j'ai testé ton premier code ( celui avec le char on dois detruire une pyramide en cube ) et il marche trés bien avec Purebasic 5.40 sous windows 10
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: PureBasic et Windows 10.
Merci Micheao. je me demande si Kwai chang caine n'a pas mis son windows 10 en mode compatibilité Windows 95Micheao a écrit :Bonsoir falsam
j'ai testé ton premier code ( celui avec le char on dois detruire une pyramide en cube ) et il marche trés bien avec Purebasic 5.40 sous windows 10

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: PureBasic et Windows 10.
Que neni mon ami...du W10 tout neuf de chez W10 and W10...du republic of gamers moooooosssieeeeuuu !!!
Bien sur que je l'ai vu le joli cube bleu qui tourne....super joli au passage

Bien sur que je l'ai vu le joli cube bleu qui tourne....super joli au passage
