Pas d'initialisation du moteur3D sous linux

Généralités sur la programmation 3D
translucidus
Messages : 12
Inscription : mar. 01/juil./2014 9:28

Pas d'initialisation du moteur3D sous linux

Message par translucidus »

Bonsoir à tous je suis nouveau sur ce forum.
J'ai un problème l'initialisation du moteur D me retourne l'erreur (Can't initialize engine3D)
je suis sous linux Debian 7.1 j'ai une carte graphique GT620, pourtant je développe avec Opengl Glut et OpenInventor sans problème
mes programmes fonctionnent correctement.
Je souhaitais faire des essais avec PureBasic5.21 pour remplacer mes anciens programmes, mais je suis complètement bloqué et n'ai
trouvé aucune réponse pouvant résoudre mon problème sur le forum.
Merci de votre aide.
Pour info je fais de l'informatique depuis 1967....
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pas d'initialisation du moteur3D sous linux

Message par falsam »

Bonjour translucidus et bienvenue.

Pouvez vous remplacer InitEngine3D() par InitEngine3D(#PB_Engine3D_DebugLog).
Après exécution du code, pouvez vous faire un copier/colller du contenu du fichier Ogre.log
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%
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Pas d'initialisation du moteur3D sous linux

Message par G-Rom »

Sous linux, le reflexe à avoir lors des crashs de n'importe quel programme , c'est de récupérer la sortie , pour cela , il faut lancer PB via un shell et lancer la compilation voir d'ou viens le problème.
Sous Linux, c'est généralement un PB de dépendance non satisfaite.
translucidus
Messages : 12
Inscription : mar. 01/juil./2014 9:28

Re: Pas d'initialisation du moteur3D sous linux

Message par translucidus »

Merci falsam et G-Rom de m'avoir répondu rapidement, je savais que mon problème était lié à la librairie engine3d, effectivement j'aurai du avoir le réflexe de lancer PB via le shell, mais j'ai plutôt l'habitude de travailler avec emacs.
Donc mon PB c'est la librairie engine3d.so qui utilise glib_2.14 or sous debian 7.1 libc.so.6 utilise glib_2.13, la 2.14 étant instable même sous les paquets expérimentaux elle n'éxite pas.
Le passage à glib_2_14 ne se fera pas il est qsuestion de passer à la 2.17 qui n'est pas encore officielle pour debian.

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/dan/purebasic/compilers/engine3d.so)

donc mon problème n'est pas résolu pour le moment.

Bonne soirée à tous.
Fred
Site Admin
Messages : 2807
Inscription : mer. 21/janv./2004 11:03

Re: Pas d'initialisation du moteur3D sous linux

Message par Fred »

Apparement c'est supporté sur debian 7 en installant la 2.17 en plus:

http://unix.stackexchange.com/questions ... -on-wheezy

Code : Tout sélectionner

sudo apt-get install libc6-dev=2.17-7
translucidus
Messages : 12
Inscription : mar. 01/juil./2014 9:28

Re: Pas d'initialisation du moteur3D sous linux

Message par translucidus »

Bonsoir Fred,
Je vous remercie pour l'info mais malheureusement pour le moment aucune version stable de la 2.17
de dispo pour debian 7.

# sudo apt-get install libc6-dev=2.17-7
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
E: La version « 2.17-7 » de « libc6-dev » n'a pu être trouvée
Fred
Site Admin
Messages : 2807
Inscription : mer. 21/janv./2004 11:03

Re: Pas d'initialisation du moteur3D sous linux

Message par Fred »

Et l'autre commande ?

Code : Tout sélectionner

sudo apt-get -t testing install libc6-dev
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Pas d'initialisation du moteur3D sous linux

Message par G-Rom »

Vérifie que tu as bien la liste de tes dépôts à jour.
Vérifie aussi que tu as aussi dans tes dépots (/etc/apt/sources.list) les paquets experimental de debian
Ensuite un p'tit coup de sudo apt-get update , et la commande que Fred t'as filé , ça devrais roulé.
translucidus
Messages : 12
Inscription : mar. 01/juil./2014 9:28

Re: Pas d'initialisation du moteur3D sous linux

Message par translucidus »

Mes listes sont bien à jour rien sur paquets expérimentaux, rien sur testing et enfin j'ai réussi sur
deb ftp://mir1.ovh.net/debian/ testing main.
Donc plus de PB d'initialisation du moteur 3D, par contre j'ai un nouveau problème aucun des exemples 3D ne fonctionne

Result = OpenWindowedScreen(WindowID(#WINDOW_Screen3DRequester), 0, 0, ScreenWidth, ScreenHeight, 0, 0, 0)

me génère l'erreur Accès mémoire invalide !!!

merci pour vos réponses.
Fred
Site Admin
Messages : 2807
Inscription : mer. 21/janv./2004 11:03

Re: Pas d'initialisation du moteur3D sous linux

Message par Fred »

Tu as le fichier Ogre.log ?
translucidus
Messages : 12
Inscription : mar. 01/juil./2014 9:28

Re: Pas d'initialisation du moteur3D sous linux

Message par translucidus »

Bonsoir Fred,
Il n'y pas de fichier Ogre.log de généré.
Par exemple lorsque je compile spline.pb le prog ouvre la fenêtre de choix de la résolution je choisi 800*600 une fenêtre noire de demo s'ouvre puis cela plante avec
l'erreur Accès mémoire invalide.
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Pas d'initialisation du moteur3D sous linux

Message par falsam »

Bonsoir translucidus. Avant de passer aux exemples 3D, pourriez vous enregistrer et tester cet exemple qui affiche un simple cube. Un fichier Ogre.log est en principe généré.
Un copier coller serait le bienvenu.

Code : Tout sélectionner

Enumeration
  #Mainform
EndEnumeration

Global WWIdth, WHeight
Global Event

If Not InitEngine3D(#PB_Engine3D_DebugLog)
  MessageRequester("Information", "InitEngine3D() Erreur")
  End
EndIf

If Not InitSprite()
  MessageRequester("Information","InitSprite() Erreur")
  End
EndIf

InitKeyboard()
InitMouse()

OpenWindow(#Mainform,0,0, 0, 0, "", #PB_Window_SystemMenu | #PB_Window_Maximize)
WWidth = WindowWidth(#Mainform, #PB_Window_InnerCoordinate)
WHeight = WindowHeight(#Mainform, #PB_Window_InnerCoordinate)
OpenWindowedScreen(WindowID(#Mainform),0,0,WWIdth,WHeight,0, 0, 0)

KeyboardMode(#PB_Keyboard_International)

;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

; Une camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(145, 182, 201))


CreateEntity(#PB_Any, MeshID(CreateCube(#PB_Any, 2)), #PB_Material_None)

MoveCamera(Camera, 2, 5, 15, #PB_Absolute)  
CameraLookAt(Camera, 0,0,0)   

Repeat
  Repeat
    Event  = WindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        End
        
    EndSelect
  Until Event = 0
  
  If ExamineKeyboard()
    
    If KeyboardPushed (#PB_Key_Escape)
      Break
    EndIf
  EndIf
  
  ; Affiche le rendu de la scène
  ClearScreen(RGB(0, 0, 0))
  RenderWorld(80)
  FlipBuffers()    
ForEver
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%
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Pas d'initialisation du moteur3D sous linux

Message par comtois »

J'aime bien voir le résultat dans une console en ajoutant #PB_Engine3D_DebugOutput.

Code : Tout sélectionner

InitEngine3D(#PB_Engine3D_DebugLog | #PB_Engine3D_DebugOutput)
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.
translucidus
Messages : 12
Inscription : mar. 01/juil./2014 9:28

Re: Pas d'initialisation du moteur3D sous linux

Message par translucidus »

Bonsoir Falsam et Comtois,

Voici le résultat :
** (purebasic:4235): CRITICAL **: clearlooks_style_draw_box_gap: assertion `height >= -1' failed

** (purebasic:4235): CRITICAL **: clearlooks_style_draw_box_gap: assertion `height >= -1' failed
Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
ArchiveFactory for archive type EmbeddedZip registered.
DDS codec registering
FreeImage version: 3.10.0
This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
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
PVRTC codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
*-*-* OGRE Initialising
*-*-* Version 1.8.2 (Byatis)
OpenGL Rendering Subsystem created.
Particle Emitter Type 'Point' registered
Particle Emitter Type 'Box' registered
Particle Emitter Type 'Ellipsoid' registered
Particle Emitter Type 'Cylinder' registered
Particle Emitter Type 'Ring' registered
Particle Emitter Type 'HollowEllipsoid' registered
Particle Affector Type 'LinearForce' registered
Particle Affector Type 'ColourFader' registered
Particle Affector Type 'ColourFader2' registered
Particle Affector Type 'ColourImage' registered
Particle Affector Type 'ColourInterpolator' registered
Particle Affector Type 'Scaler' registered
Particle Affector Type 'Rotator' registered
Particle Affector Type 'DirectionRandomiser' registered
Particle Affector Type 'DeflectorPlane' registered
PCZone Factory Type 'ZoneType_Default' registered
CPU Identifier & Features
-------------------------
* CPU ID: GenuineIntel: Intel(R) Core(TM) i5-3350P CPU @ 3.10GHz
* SSE: yes
* SSE2: yes
* SSE3: yes
* MMX: yes
* MMXEXT: yes
* 3DNOW: no
* 3DNOWEXT: no
* CMOV: yes
* TSC: yes
* FPU: yes
* PRO: yes
* HT: no
-------------------------
******************************
*** Starting GLX Subsystem ***
******************************
Registering ResourceManager for type Texture
SceneManagerFactory for type 'OctreeSceneManager' registered.
SceneManagerFactory for type 'BspSceneManager' registered.
Registering ResourceManager for type BspLevel
GLRenderSystem::_createRenderWindow "PureBasic Ogre", 1x1 windowed miscParams: FSAA=0 displayFrequency=0 parentWindowHandle=41943079 vsync=true


[Fatal Debugger Error] Broken communication pipe.
Fred
Site Admin
Messages : 2807
Inscription : mer. 21/janv./2004 11:03

Re: Pas d'initialisation du moteur3D sous linux

Message par Fred »

Quelle est ta carte graphique et les drivers installés ?
Répondre